我需要知道期间是否定义为:
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可以检查时间段内是否有DST?