ZonedDateTime zdt = ZonedDateTime.of(2015, 10, 18, 0, 30, 0, 0,
ZoneId.of("America/Sao_Paulo"));
System.out.println(zdt); // 2015-10-18T01:30-02:00[America/Sao_Paulo]
Run Code Online (Sandbox Code Playgroud)
您可以看到小时是1我们设置小时的时间0,而时区是UTC-02:00夏令时时区应该是UTC-03:00.
但这是一个不同的例子:
ZonedDateTime zdt = ZonedDateTime.of(2015, 10, 18, 0, 30, 0, 0,
ZoneId.of("America/Los_Angeles"));
System.out.println(zdt); //2015-10-18T00:30-07:00[America/Los_Angeles]
Run Code Online (Sandbox Code Playgroud)
您可以看到夏令时时区UTC-07:00,小时是0我们设置的.
他们为什么不同?