Являются прыгающие секунды, обслуживаемые классом GregorianCalendar?
Если нет, любая сторонняя библиотека обслуживает его?
Являются прыгающие секунды, обслуживаемые классом GregorianCalendar?
Если нет, любая сторонняя библиотека обслуживает его?
API java.util.Date говорит, что
"... хотя класс Date предназначен для отображения согласованного универсального времени (UTC), он может не делать этого точно, в зависимости от среды хоста виртуальной машины Java... Большинство компьютерных часов недостаточно точны чтобы иметь возможность отразить разницу в прыжках в секунду".
Wiki говорит
"Поскольку скорость вращения Земли изменяется в зависимости от климатических и геологических событий, секунды прыжка по UTC нерегулярно разнесены и непредсказуемы. Вставка каждой секунды прыжка по UTC обычно определяется примерно за шесть месяцев вперед Международной службой вращения Земли и опорных систем (IERS)"
то есть ни один класс не может знать о будущих решениях IERS.
System.currentTimeMillis()
официально относится к таймеру ОС. И поскольку все ОС, которые я знаю, включая Microsoft, Linux и Apple, основаны только на спецификации UNIX, этот системный таймер java не учитывает секунды прыжка, только нормальные миллисекунды с 1970-01-01T00: 00: 00.000Z