【问题标题】:DateTime plus Period shows incorrect timezoneDateTime 加上 Period 显示不正确的时区
【发布时间】:2016-04-01 22:45:48
【问题描述】:

Joda DateTime API 在 plus 操作后返回时区不正确的日期。
下面是代码:

Interval interval = new Interval("2011-03-21/2011-10-31", ISOChronology.getInstance(DateTimeZone.forID("Europe/Prague")));
Period period = Period.weeks(1);

DateTime start = interval.getStart();
DateTime end = start.plus(period);

在调试模式下,我看到了:

interval = "2011-03-21T00:00:00.000+01:00/2011-10-31T00:00:00.000+01:00"
start = "2011-03-21T00:00:00.000+01:00"
end = "2011-03-28T00:00:00.000+02:00"

如您所见,interval+01:00 表示开始和结束。 但 endplus 操作后显示 +02:00

加号(句号)如何保持区位?

【问题讨论】:

  • 3/21 和 3/28 之间是否有夏令时切换?

标签: java datetime jodatime


【解决方案1】:

2011 年 3 月 27 日发生了夏令时更改...

编辑:写错年份:P

【讨论】:

  • 哦,你是对的,我没有考虑过日光时间的变化。其他月份一切正常。谢谢!!!
猜你喜欢
  • 2018-04-07
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 1970-01-01
相关资源
最近更新 更多