【发布时间】:2012-07-08 13:06:21
【问题描述】:
我需要知道周期是否由:
DateTime start;
DateTime end;
里面有夏令时。
我正在迭代 {start,end} 定义的周期集合,并在每次迭代中将开始和结束时间向前移动 24 小时。生成的周期从午夜开始,到下一个午夜前 1 毫秒结束。我发现如果时段内有夏令时点会产生不正确的结果,例如:
拥有:
Duration targetDuration = new Duration(24*60*60*1000L-1);
DateTime start = new DateTime("2012-03-10T00:00:00.000-08:00");
DateTime end = new DateTime("2012-03-10T23:59:59.999-08:00");
那么班次就完成了:
start = end.plusMillis(1);
end = start.plus(targetDuration);
产生:
start = "2012-03-11T00:00:00.000-08:00"
end = "2012-03-12T00:59:59.999-07:00"
不知道JodaTime中有没有标准的API可以检查时间段里面是否有夏令时?
【问题讨论】:
-
@MicSim,谢谢,但问题是关于 JodaTime 标准 API。我正在寻找单线,而不是针对 unix 时间的长算术。
标签: java datetime date jodatime dst