gpt4 book ai didi

Java 8 将给定时间和时区转换为 UTC 时间

转载 作者:IT老高 更新时间:2023-10-28 20:59:44 45 4
gpt4 key购买 nike

我有一段时间使用字符串类型,例如:"2015-01-05 17:00"ZoneId"Australia/Sydney".

如何使用 Java 8 日期时间 API 将此时间信息转换为与 UTC 时间对应的时间?

还需要考虑夏令时。

最佳答案

您正在 Java8 中寻找 ZonedDateTime 类 - 具有时区的完整日期时间,并已解决与 UTC/格林威治的偏移量。在设计方面,这个类应该主要被视为 LocalDateTimeZoneId 的组合。 ZoneOffset 是一条重要但次要的信息,用于确保该类代表一个瞬间,尤其是在夏令时重叠期间。

例如:

ZoneId australia = ZoneId.of("Australia/Sydney");
String str = "2015-01-05 17:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime localtDateAndTime = LocalDateTime.parse(str, formatter);
ZonedDateTime dateAndTimeInSydney = ZonedDateTime.of(localtDateAndTime, australia );

System.out.println("Current date and time in a particular timezone : " + dateAndTimeInSydney);

ZonedDateTime utcDate = dateAndTimeInSydney.withZoneSameInstant(ZoneOffset.UTC);

System.out.println("Current date and time in UTC : " + utcDate);

关于Java 8 将给定时间和时区转换为 UTC 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34605691/

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