次の2つの日付を想定します。日付は同じですが、時間が異なります。
_t1, _ := time.Parse("2006-01-02 15:04:05", "2016-01-01 12:12:12.0")
t2, _ := time.Parse("2006-01-02 15:04:05", "2016-01-01 18:19:20.0")
_
私はFormat()
を使用してそれらを比較しますが、それが最善の方法であるかどうか、特に異なるタイムゾーンが使用されている場合はわかりません。
_if t1.Format("2006-01-02") == t2.Format("2006-01-02") {
// dates are equal, don't care about time.
}
_
これは良いアプローチですか、それとも何か不足していますか?
次のように時間を切り捨てることもできます。
t1.Truncate(24*time.Hour).Equal(t2.Truncate(24*time.Hour))
または、年と日を別々に比較することもできます。
t1.Year() == t2.Year() && t1.YearDay() == t2.YearDay()