0

我需要使用 Android 中的 JodaTime 库来比较 DateTime 对象是否大于/小于太平洋标准时间上午 9 点。我在 PST 中得到 DateTime 对象,如下所示:

DateTime dt = new DateTime(DateTimeZone.forID( "America/Los_Angeles" ));

如何比较为该对象记录的时间是否大于/小于太平洋标准时间上午 9 点?

谢谢。

4

1 回答 1

1

您可以使用以下方法之一来做您想做的事。

1)创建一个你想要DateTimeTimeZone时间。

DateTime dt = new DateTime()
             .withHourOfDay(9)
             .withZone(DateTimeZone.forID("America/Los_Angeles"));

然后dtDateTime您收到、创建等的内容进行比较。

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。

于 2018-02-25T04:49:42.423 回答