小编Aji*_*das的帖子

java 8 中澳大利亚/墨尔本时区的日期时间日光节约问题

我得到了不同的夏令时开始和结束结果。

ZoneId zone = ZoneId.of("Australia/Melbourne");
System.out.println(ZonedDateTime.of(2019, 04, 07, 3, 0, 0, 0, zone)); // statement-1
System.out.println(ZonedDateTime.of(2019, 10, 06, 2, 0, 0, 0, zone)); // statement-2
Run Code Online (Sandbox Code Playgroud)

对于 2019 年上半年的夏令时,我得到的结果为 (2019-04-07T03:00**+10:00**[Australia/Melbourne])。Java 正在减少 1 小时以抵消价值。但是对于后半天的节电(statement-2=> 2019-10-06T 03:00+11:00 [Australia/Melbourne]),java 将时间增加 1 小时,偏移值增加 +1。

根据我的理解,java 应该增加 1 小时到偏移值(DST 结束),当 DST 开始时,java 应该从时间开始减少 1 小时,从偏移值开始减少 1。

请帮助我澄清差异。是 java 8 问题还是我的理解不正确?

java timezone datetime dst

3
推荐指数
1
解决办法
250
查看次数

标签 统计

datetime ×1

dst ×1

java ×1

timezone ×1