秒の定義
先日からGPSで同期するNTPサーバ作っていて気になったこと。
1秒の定義ってなんだろうと・・・
1秒の長さは、SI:(国際単位によって定義されているそうです。
セシウム原子の固有周波数で決まっている(定義されている)とのこと。
これをSI秒っていうみたい。
詳しくは、
「秒は、基底状態でのセシウム133原子の2つの超微細準位間の遷移(F=4, M=0 および F=3, M=0)に対応する放射が周期数9,192,631,770回維持される時間である」
原子時計は、この1秒を積算することによって、時刻を決定するそうです。
「この定義が制定されたのは 1967 年で、それ以前は地球の運動に基づいた定義だった。地球の自転速度は一定でないので、以前の定義では 1 秒の長さも一定ではなかった。」とのこと。
これ以前って1秒ってしっかり決まってなかったのね。
この決まった1秒(時刻)を表記する方法はいくつもあるそうです。
知らなかった・・・
普段使っている時刻は日本標準時といい、JSTとも言う時もある。
それは協定世界時:UTCをただ単に9時間進めた時刻である。
さらにUTCはTAIとUT1という聞いたことがない時刻表記から決定されているそうです。
- TAI (International Atomic Time) (国際原子時)
世界中の原子時計の時刻を加重平均して決定される時刻。うるう秒は含まなく、UTCの基準になっています。これはBIPMという機関が管理しているそうです。1958年1月1日0時から起算。
- UT (Universal Time)(世界時)
これまた聞いたことがない呼び名。地球の回転から決定される時刻です。地球の自転速度は一定でないので、1秒の長さも一定ではないそうです。
-
- UT0は地方平均恒星時と観測位置から求まる時刻。
- UT1はUT0から地球の極運動を補正したもので、さっき書いたTAIとUTCの基準になっているそうです。
- UT2はUT1から季節変動を補正したものだそうです。
1972年1月1日0時に、TAI-10として起算開始。1秒の長さはTAIと同じでだそうです。
地球自転の乱れが積み重なると、UTCとUT1の差は大きくなっていくと、まぁ不安定な感じ。UT1との差が+-0.9 秒以内になるように、うるう秒で調整して、時刻の差を合わせているそうです。
- GPS time
今回GPSで同期するNTPサーバ作っていて一番気になるところ。
1980年1月6日0時(TAI-UTC=19の時)から起算してます。
1秒の長さ自体はTAIと同じで、うるう秒は数えてません。
なので、GPS time=TAI-19で時刻表記出来ちゃう。
- UNIX time
こんなのあったのね。
UNIXでは時刻を表すのに、年月日時分秒のような日付・時刻ではなくて、 1970年1月1日0時0分0秒からの秒数として表記しているそうです。Windowsもそうだったような・・・
現在のUNIX timeを知るにはdateコマンドで出てきます。
- NTP time
こう言うのもあるのね。
NTP:ネットワーク時刻同期プロトコル(RFC1305で定義)で使用される時刻表記しているみたい。
ntpdがその参照実装とされていて、UNIX timeと同じように1900年1月1日0時0分0秒からの秒数で表記されているそうです。 UNIX timeとNTP timeは20年も離れていて日付を相互変換するのには面倒くさそうだけど、25567 日に差だけを考えれば良いみたい
うるう秒も考えなくてもいいみたい。
時刻って不思議だ。