🧭

time.Time型の比較処理

2024/09/26に公開

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)
}

リポジトリ

comparetime

Discussion