gpt4 book ai didi

java - 将本地日期/时间转换为 UTC 日期/时间 java SE 8

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:58 24 4
gpt4 key购买 nike

我为此找到的每个解决方案都将日期/时间值“序列化”为字符串,然后再次将其解析为所需的时区。这似乎是一种低效的方法。我正在使用 java SE 8,它似乎对使用新类处理时区有更好的支持(尽管我承认不精通 java SDK)。我试过它们,下面是一个相当简单的解决方案,似乎工作得很好,但没有日期/时间的字符串表示作为中间人。

ZonedDateTime localDateTime = ZonedDateTime.now();
System.out.println(localDateTime);
ZonedDateTime utcDateTime = ZonedDateTime.ofInstant(
localDateTime.toInstant(),
ZoneOffset.UTC
);
System.out.println(utcDateTime);

结果:

2015-01-07T11:02:43.368-05:00[America/New_York]
2015-01-07T16:02:43.368Z

我是不是过于简单化了?

最佳答案

您的方法可行,但还有更简洁的方法,请参阅:https://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html#withZoneSameInstant-java.time.ZoneId-

像这样的东西应该可以工作:

localDateTime.withZoneSameInstant(ZoneId.of("UTC"));

关于java - 将本地日期/时间转换为 UTC 日期/时间 java SE 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com