🧭
time.Time型の比較処理
time.Time型の比較処理は、Goの比較演算子を使わないので、ちょっと迷ってしまいます。迷わないために、自分にとって分かりやすいコードを書いてみました。どうでしょう。
コード
package comparetime
import "time"
// a < b
func lessThanSign(a time.Time, b time.Time) bool {
return a.Before(b)
}
// a <= b
func lessThanOrEqualSign(a time.Time, b time.Time) bool {
return a.Before(b) || a.Equal(b)
}
// a == b
func equalSign(a time.Time, b time.Time) bool {
return a.Equal(b)
}
// a > b
func greaterThanSign(a time.Time, b time.Time) bool {
return a.After(b)
}
// a >= b
func greaterThanOrEqualSign(a time.Time, b time.Time) bool {
return a.After(b) || a.Equal(b)
}
Discussion