日付によるうるう秒の処理

日付によるうるう秒の処理

私は Ubuntu 13.10 で clockspeed-0.62 (DJB ソフトウェア) を実行しています。タイムゾーンを設定したので、これは/usr/share/zoneinfoへのリンクです/usr/share/right。私のは/etc/leapsecs.dat最新です。つまり、25 のうるう秒が含まれています。

date -uコマンドが 25 秒先の時間を表示する理由を理解し (解決し) るのを手伝ってくれる人はいませんかexport TZ=UTC; date?

出力date; (export TZ=UTC; date); date -u:

Mon Feb  3 22:33:56 CET 2014
Mon Feb  3 21:33:56 UTC 2014
Mon Feb  3 21:34:21 UTC 2014

答え1

TZ=UTCglibc が「UTC」という名前のゾーン情報ファイルを使用するようにします。このファイルには、/usr/share/zoneinfo/right/UTCうるう秒の調整が含まれています。

この-uオプションは実際には設定と同じですTZ=UTC0. があるのでゾーン情報ファイルの名前がありませんUTC0、設定は「std offset」形式として再解釈されます(tzset(3)この形式では、最初の3文字は表示名としてのみ使用され、「0」はUTCからの単純なオフセットとして使用されます(つまり、システム クロックからのオフセット)。

関連情報