首页 > 解决方案 > 乔达时间间隔

问题描述

我从服务器获取时间格式为 { "from" : "12-00", "to" : "01-00" } 然后,我像这样解析它

DateTimeFormat.forPattern("HH:mm").parseDateTime(dateString)

然后,我需要检查当前时间是否在这个小时范围内:

Interval(from, to).containsNow()

间隔构造函数抛出错误,因为第二个日期超过第一个 DateTime 对象时间是 1970-01-01T12:00:00.000Z 和 1970-01-01T01:00:00.000Z

如何检查当前时间是否在小时范围内?乔达有时间范围吗?

标签: androidjodatimeandroid-jodatime

解决方案


由于您使用的是 24 小时格式,因此您也需要使用日期。您当前正在比较 01-01-1970(Unix 开始日期)的 12:00 和同一天的 01:00,而 12:00 在 1:00 之后,这是一个无效的时间间隔。

将 DateTime 模式更改为 "MM/dd/yyyy HH:mm" 或其他适合您并包含适合您需要的日期和时间的内容。然后,您可以进行检查。


推荐阅读