闰秒持续时间

Zyc*_*cho 7 java datetime utc leap-second java-time

我需要在固定的日期时间在我的代码中安排任务.为此我正在使用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
Run Code Online (Sandbox Code Playgroud)

Jod*_*hen 5

要支持闰秒,您需要ThreeTen-Extra扩展jar文件.它有专门的UTC和TAI类以及闰秒表.

要计算持续时间,请使用专用的durationUntil()方法.