我有兩個這樣的日期,我想只比較日期,忽略時間。目前我有這個:比較兩個日期而不考慮時間
package main
import (
"time"
//"fmt"
)
func main() {
a, _ := time.Parse(time.RFC3339, "2017-02-01T12:00:00+00:00")
b, _ := time.Parse(time.RFC3339, "2017-02-11T14:30:00+00:00")
x := b.Sub(a)
println(int(x.Hours()))
}
哪打印242
。這是正確的,但我真正想要做的是比較的日期是這樣的:
a, _ := time.Parse(time.RFC3339, "2017-02-01T00:00:00+00:00")
b, _ := time.Parse(time.RFC3339, "2017-02-11T00:00:00+00:00")
聲明:分鐘/小時/秒,已設置爲零 - 的差異將現在爲240小時。
我真的不知道如何做到這一點,在Go中有沒有time.SetTime(0, 0, 0)
函數,我錯過了什麼是重置日期時間的規範方法?
您是否還想考慮時區?例如,「2017-01-01T22:00:00 + 00:00」和「2017-01-02T02:00:00 + 04:00」是同一時刻 - 但是會用不同的時區來描述。 – Addison
這是一個很好的問題,與我一起工作的日期都假定爲UTC,所以它並不重要。但是如果他們有不同的時區,我需要考慮到這一點。 – Max
那麼,在那種情況下,eugenioy的答案似乎涵蓋了它。供參考 - 他們的答案確實考慮了時區,所以我提到的那兩個日期將被視爲同一天,因此相隔0小時。 – Addison