需要测试一个时间是否在同一天的其他两个时间之间
Need to test if a time is between two other times on same day
在 Go 中,如何查找时间是否介于其他两个时间之间,忽略日期。
日期无关紧要,因为时间是从不允许指定日期的文字中获取的。
保证开始时间早于结束时间
例如
时间10:00在09:00和13:00之间吗? - 是的,真的
时间 14:12 在 02:00 和 03:00 之间吗? - 不那么假
如果你不想比较日期,那么在解析时间时忽略日期即可。
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)
在 Go 中,如何查找时间是否介于其他两个时间之间,忽略日期。
日期无关紧要,因为时间是从不允许指定日期的文字中获取的。
保证开始时间早于结束时间 例如
时间10:00在09:00和13:00之间吗? - 是的,真的 时间 14:12 在 02:00 和 03:00 之间吗? - 不那么假
如果你不想比较日期,那么在解析时间时忽略日期即可。
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)