GregorianCalendar クラスはうるう秒に対応していますか?
そうでない場合、サードパーティのライブラリは対応していますか?
System.currentTimeMillis()
公式には OS タイマーに関連しています。Microsoft、Linux、Apple など、私が知っているすべての OS は UNIX 仕様にのみ基づいているため、この Java システム タイマーはうるう秒をカウントせず、1970-01-01T00:00:00.000Z 以降の通常のミリ秒のみをカウントします。java.util.Date API はそれを言います
「...Date クラスは協定世界時 (UTC) を反映するように意図されていますが、Java 仮想マシンのホスト環境によっては、正確に反映されない場合があります。... ほとんどのコンピューターの時計は、十分に正確ではありません。うるう秒の区別を反映するためです。」
ウィキによると
「地球の自転速度は気候や地質学的事象に応じて変化するため、UTC うるう秒の間隔は不規則であり、予測できません。各 UTC うるう秒の挿入は、通常、国際地球回転参照システム サービス (IERS) によって約 6 か月前に決定されます。 "
つまり、クラスは将来の IERS の決定について知ることができません。