我有一个时间戳t
,我希望在t'
之后的时间段之后找到下一个时段p
开头的时间戳t
从0开始。
示例:
t = 2014-10-24T11:10:23.456Z
p = P1D
t' would be 2014-10-25T00:00:00.000Z
请注意,p可以是任何ISO 8601期间。
我当前的实现有效(但速度极慢!):
Period p = Period.parse("P1M1D");
final MutableDateTime start= new MutableDateTime(startTimestamp);
final MutableDateTime currentEnd = new MutableDateTime(0, 1, 1, 0, 0, 0, 0, DateTimeZone.UTC);
while (currentEnd.compareTo(start) <= 0) {
currentEnd.add(p);
}
System.out.println(currentEnd);
--> 2014-11-02T00:00:00.000Z
你能想到一种更有效的方法吗?