go - 需要测试一个时间是否在同一天的另外两个时间之间
问题描述
在 Go 中,我如何查找时间是否在另外两个时间之间,而忽略日期。
日期无关紧要,因为时间是从不允许指定日期的文字中获得的。
保证开始时间早于结束时间 例如
09:00 和 13:00 之间的时间是 10:00 吗?- 是的,是的,时间是 02:00 到 03:00 之间的 14:12 吗?- 没有那么假
解决方案
如果您不想比较日期,则在解析时间时只需忽略日期即可。
https://play.golang.org/p/dklyN7NuC5a
start, _ := time.Parse("15:04", "14:00")
end, _ := time.Parse("15:04", "15:00")
t, err := time.Parse("15:04", "14:12")
if err != nil {
log.Fatal(err)
}
fmt.Println(start.Before(t) && end.After(t))
如果您不需要任何其他时间函数,并且您的时钟时间始终格式化为HH:mm
,那么您可以按字典顺序比较它们:
start := "14:00"
end := "15:00"
t := "14:12"
fmt.Println(start < t && t < end)