例如,我將日期存盤為 mongo 中的時間戳1564444800000000000。我想檢查時間戳是否在 2 個日期之間 - 2021 年 7 月 1 日和 2021 年 7 月。我使用https://www.epochconverter.com/將這兩個日期轉換為時間戳。我首先獲取了所有記錄,并在遍歷記錄時進行了這樣的檢查
cDate := 1564444800000000000
if cDate > 1625167488000 && cDate < 1627759488000 {
log.Fatal("found one!")
}
但這似乎不起作用,因為我沒有匹配項。有沒有更好的方法來做到這一點?
uj5u.com熱心網友回復:
我的意思是只看數字:
cDate := 1564444800000000000
1625167488000
1627759488000
我看不出一個比它應該在它們之間的數字多六位的數字會在它們之間。而且,即使我們將CDate通過1000000這將是
cDate := 1564444800000
1625167488000
1627759488000
而且它仍然小于這兩個,所以它仍然不會在它們之間。但話雖如此,您很可能只需要除以cDate,1000000而您的示例并不是一個好的示例(因為 1564444800000 是 2019 年 7 月 29 日)
uj5u.com熱心網友回復:
我建議轉換一個日期然后檢查之前和之后的 API,例如:
package main
import (
"fmt"
"time"
)
func main() {
cDate := int64(1564444800000000000)
firstJuly := time.Date(2019, 7, 1, 0, 0, 0, 0, time.UTC)
thrirtyOneJuly := time.Date(2019, 7, 31, 0, 0, 0, 0, time.UTC)
date := time.Unix(0, cDate)
// fmt.Println(date) //will print 2019-07-30 00:00:00 0000 UTC
fmt.Println("Is July?", date.After(firstJuly) && date.Before(thrirtyOneJuly))
}
將列印
Is July? true
在操場上看到
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/393710.html
標籤:去
上一篇:Golang中的全域變數
