登录
首页 >  Golang >  Go问答

检查某个时间是否在另外两个时间范围内

来源:stackoverflow

时间:2024-03-18 12:27:27 119浏览 收藏

在 Go 中,确定一个时间是否落在两个指定时间范围内时,可以忽略日期。这在处理不包含日期的时间文本时很有用。 通过忽略解析时间时的日期,可以将时间表示为时钟时间,例如“14:00”。随后,可以使用简单的字典顺序比较来确定一个时间是否在两个给定时间范围内。或者,可以使用 `time` 包的 `before` 和 `after` 函数,前提是确保开始时间早于结束时间。

问题内容

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

到这里,我们也就讲完了《检查某个时间是否在另外两个时间范围内》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>