如何解决从 DateTime 类 Joda api 中查找最新的时间戳
我有一个 DateTime 对象列表,我的任务是比较它们并找到最新的时间戳。 DateTime 类是从 Joda Api 使用的。我被困在这部分已经有一段时间了。我将不胜感激
解决方法
Collections.max()
List<DateTime> dateTimeObjects = Arrays.asList(
new DateTime(2021,2,13,21,DateTimeZone.forID("Asia/Istanbul")),new DateTime(2021,22,DateTimeZone.forID("Atlantic/Madeira")),23,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
。如果列表包含 NullPointerException
,它会抛出一个 null
(除非 null
是唯一的元素,然后它可能会被返回)。
文档链接: Collections.max()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。