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

时间:2014-11-02 21:08:31

标签: 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);

导致输出:

2014-11-02T15:03:16.387-06:00
2014-11-02T00:00:00.000-05:00

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

1 个答案:

答案 0 :(得分:5)

因为daylight savings switched在2014年11月2日晚上:

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