【问题标题】:Find Latest TimeStamp from DateTime class Joda api从 DateTime 类 Joda api 中查找最新的时间戳
【发布时间】:2021-05-16 14:52:22
【问题描述】:

我有一个 DateTime 对象列表,我的任务是比较它们并找到最新的时间戳。从 Joda Api 使用 DateTime 类。我已经在这部分停留了一段时间。非常感谢您的帮助

【问题讨论】:

标签: java datetime time jodatime


【解决方案1】:

Collections.max()

    List<DateTime> dateTimeObjects = Arrays.asList(
            new DateTime(2021, 2, 13, 21, 0, DateTimeZone.forID("Asia/Istanbul")),
            new DateTime(2021, 2, 13, 22, 0, DateTimeZone.forID("Atlantic/Madeira")),
            new DateTime(2021, 2, 13, 23, 0, DateTimeZone.forID("Antarctica/Macquarie")));
    DateTime latestDateTime = Collections.max(dateTimeObjects);
    System.out.println(latestDateTime);

输出:

2021-02-13T22:00:00.000Z

马德拉岛的时间是 22:00。您可能想知道 Macquarie 的 23:00 时间似乎更晚,但 Macquarie 的 UTC 偏移量为 +11:00,因此该时间实际上早了 10 小时。 DateTime 对象是 Comparable 并按即时(时间点)进行比较,而不是按时钟小时。所以我们得到了最新的时间点。我们总是会,即使是在多个时区混合时。

Collections.max() 如果列表为空,则抛出 NoSuchElementException。如果列表包含null,它会抛出NullPointerException(除非null 是唯一元素,那么它可能会被返回)。

文档链接: Collections.max()

【讨论】:

  • 阿里,如果您还有疑问,请在评论中跟进,我会看看是否可以进一步帮助您。如果您的问题已经解决,请查看您是否觉得合适to accept the answer
猜你喜欢
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 2020-11-02
  • 2014-03-02
相关资源
最近更新 更多