需要测试一个时间是否在同一天的其他两个时间之间

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)