gpt4 book ai didi

java - 如何使用 ZonedDateTime 或 Java 8 将任何日期时间转换为 UTC

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:21 25 4
gpt4 key购买 nike

我正在尝试使用 ZonedDateTime 将日期 06-12-2015 02:10:10 PM 从默认时区转换为 UTC。

LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
ZonedDateTime utc = ZonedDateTime.of(localDateTime, ZoneOffset.UTC);

但是 utc 返回 2015-12-06T14:10:10Z 而不是 06-12-2015 09:10:10 AM

如何将日期从默认时区转换为 UTC?给出的答案here将当前时间转换为 UTC。

最佳答案

您可以使用 ZonedDateTime.ofInstant(Instant, ZoneId)其中第二个参数是 UTC(即时知道本地偏移量)。类似的东西,

String source = "06-12-2015 02:10:10 PM";
String pattern = "MM-dd-yyyy hh:mm:ss a";
DateFormat sdf = new SimpleDateFormat(pattern);
try {
Date date = sdf.parse(source);
ZonedDateTime zdt = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.of("UTC"));
System.out.println(zdt.format(DateTimeFormatter.ofPattern(pattern)));
} catch (ParseException e) {
e.printStackTrace();
}

然后我得到(对应于我的本地区域偏移量)

06-12-2015 06:10:10 PM

关于java - 如何使用 ZonedDateTime 或 Java 8 将任何日期时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34115801/

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