2

Joda Time 似乎处理了拥有关于特定时刻的一些信息的概念,但不是全部。例如,LocalTime该类可以表示时间“9:43:17 AM”,并且LocalDate该类知道“2010 年 7 月 7 日”,而与时区无关。

但是我有一堆 Instant,我想知道它们中的哪一个发生在“太平洋标准时间上午 9 点”之后。也就是说,在 PST 中,哪些输入时刻发生在上午 9 点之后?

这可以在 Joda Time 中轻松表达吗?如果有办法解析像“9:43 AM EST”这样的字符串,则可以加分

4

2 回答 2

1

“部分”时间类(以及PartialTime它们实现的接口)都不能代表时区。这就是文档所说的。所以你必须分别代表时区。

作为结果,

  • 您需要手动进行“东部标准时间上午 9 点之后”的计算,并且
  • 你不能直接解析像“9:43 AM EST”这样的字符串。
于 2012-05-16T03:04:30.797 回答
0

我有一个类似的问题,我没有找到满意的代码答案。所以这就是我所做的:(对不起,我把它保存在 Scala 中)

def nineAMOfDate(date: DateTime) = {
  new DateTime(date.getYear, date.getMonthOfYear, date.getDayOfMonth, 9, 0, DateTimeZone.forID("America/New_York"))
}

据我了解,这将使用东部流行时间。

于 2013-09-10T18:08:45.670 回答