秒の定義

先日から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という聞いたことがない時刻表記から決定されているそうです。

世界中の原子時計の時刻を加重平均して決定される時刻。うるう秒は含まなく、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で同期するNTPサーバ作っていて一番気になるところ。
1980年1月6日0時(TAI-UTC=19の時)から起算してます。
1秒の長さ自体はTAIと同じで、うるう秒は数えてません。
なので、GPS time=TAI-19で時刻表記出来ちゃう。


こんなのあったのね。
   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 日に差だけを考えれば良いみたい
うるう秒も考えなくてもいいみたい。




時刻って不思議だ。