我需要在固定的日期时间在代码中安排任务。为此,我使用 ScheduledExecutorService 和方法schedule(Runnable command, long delay, TimeUnit unit);
如何根据闰秒计算此延迟?
目前我使用Duration.between()
但它似乎不知道闰秒:
ZonedDateTime date1 = ZonedDateTime.of(2015, 06, 30, 23, 59, 59, 000000, ZoneOffset.UTC);
ZonedDateTime date2 = ZonedDateTime.of(2015, 07, 01, 00, 00, 00, 000000, ZoneOffset.UTC);
ZonedDateTime date3 = ZonedDateTime.of(2015, 07, 01, 00, 00, 01, 000000, ZoneOffset.UTC);
System.out.println(Duration.between(date1, date2)); // PT1S
System.out.println(Duration.between(date2, date3)); // PT1S