gpt4 book ai didi

java - ZoneId 的偏移量错误?

转载 作者:行者123 更新时间:2023-11-30 07:40:05 29 4
gpt4 key购买 nike

ZoneId.of("Australia/ACT").getRules().getOffset(LocalDateTime.of(2019, 03, 31, 13, 0, 0, 0))

返回

+11:00

根据 timeanddate 这似乎是不正确的

我希望偏移量为 +10:30。

最佳答案

Australia/ACTIANA database (tzdata) 中一个旧的弃用名称并且不涉及 Australian Central Time .相反,它指的是 Australian Capital Territory , 与 Sydney 处于同一时区.

尝试 Australia/AdelaideAustralia/Broken_Hill 引用 Australian Central Time 的时区.

示例代码。

LocalDateTime ldt = LocalDateTime.of ( 2019 , 03 , 31 , 13 , 0 , 0 , 0 );
System.out.println ( "Offsets for: " + ldt );

List < ZoneId > zones =
List.of (
ZoneId.of ( "Australia/Adelaide" ) ,
ZoneId.of ( "Australia/Broken_Hill" )
)
;
for ( ZoneId zone : zones )
{
ZoneOffset offset = zone.getRules ().getOffset ( ldt );
System.out.println ( "zone: " + zone.toString () + " has offset: " + offset.toString () );
}

在 Java 13 中运行时(来自 AdoptOpenJDK):

Offsets for: 2019-03-31T13:00

zone: Australia/Adelaide has offset: +10:30

zone: Australia/Broken_Hill has offset: +10:30

提示:有关实时时区的完整列表,请参阅 tzdata 的最新副本.更方便咨询Wikipedia for a list of time zones ,尽管该列表可能已过时。

关于java - ZoneId 的偏移量错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58225071/

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