Joda时间在日期调整时更改UTC偏移

Jam*_*esJ 1 java jodatime

这段代码:

DateTime n1 = DateTime.now(DateTimeZone.forID("America/Chicago"));
System.out.println(n1);
DateTime n2 = n1.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withMillisOfSecond(0);
System.out.println(n2);
Run Code Online (Sandbox Code Playgroud)

结果输出:

2014-11-02T15:03:16.387-06:00
2014-11-02T00:00:00.000-05:00
Run Code Online (Sandbox Code Playgroud)

为什么UTC的偏移会根据此分配而改变?

Jes*_*per 5

因为夏令时在2014年11月2日晚上转换:

  • 2014年11月2日,时区15:03:16美国/芝加哥冬季(UTC - 6小时)
  • 2014年11月2日00:00:00在时区America/Chicago在夏季(UTC - 5小时)