我需要使用 Android 中的 JodaTime 库来比较 DateTime 对象是否大于/小于太平洋标准时间上午 9 点。我在 PST 中得到 DateTime 对象,如下所示:
DateTime dt = new DateTime(DateTimeZone.forID( "America/Los_Angeles" ));
如何比较为该对象记录的时间是否大于/小于太平洋标准时间上午 9 点?
谢谢。
我需要使用 Android 中的 JodaTime 库来比较 DateTime 对象是否大于/小于太平洋标准时间上午 9 点。我在 PST 中得到 DateTime 对象,如下所示:
DateTime dt = new DateTime(DateTimeZone.forID( "America/Los_Angeles" ));
如何比较为该对象记录的时间是否大于/小于太平洋标准时间上午 9 点?
谢谢。
您可以使用以下方法之一来做您想做的事。
1)创建一个你想要DateTime
的TimeZone
时间。
DateTime dt = new DateTime()
.withHourOfDay(9)
.withZone(DateTimeZone.forID("America/Los_Angeles"));
然后dt
与DateTime
您收到、创建等的内容进行比较。
dt.isAfter(date)
或者dt.isBefore(date)
2)您可以将TimeZone
您想要的设置为DateTime
您收到的副本。
我说复制是因为DateTime
对象是不可变的。您不能修改收到的 DateTime 而是从中创建一个,是的。您可以在此处阅读更多相关信息:为什么 Joda 对象是不可变的?
datePST = date.withZone(DateTimeZone.forID("America/Los_Angeles"));
int hour = datePST.getHourOfDay()
现在您只需要检查小时是否 < 或 > 大于 9。