地球上の2次元座標としては緯度経度精度を1つの文字列で表すGeo3x3があるので、これに高さと時間を加えれば4次元。まずは時間表現を考える。
時間といえば、1400億年前から4300億年後までは表現できる、国際原子時(TAI)の12byteのバイナリまたは@ではじまる16進法で表現するTAI64N。ただ@マークで始まる25文字はちょっと長い。
そこで提唱するのが、64bitの秒と、32bitのナノ秒なので、単純に秒の整数や小数で表現する「TAI64ND」、TAIの64bit表現+ナノ秒を10進法表現です。(TAI64N-es on GitHub)
2024-05-27T23:35:35.558Z
↓
@40000000665518ec21426780
↓
1716852935.558
と、なかなかにコンパクト。単純に秒なので、差分の計算も可能!
2024-05-27T23:35:35Z
↓
@40000000665518ec00000000
↓
1716852935
秒の小数以下を使わないのであれば、小数点ごとなしにしてもOKです。
「TAI64ND demo」 with TAI64N-es on GitHub
気軽に扱う、閏秒の無いため巻き戻りがない時間ID、TAI64Nの標準と新テキストを合わせて表示デモ!
links
- 37秒早いもうひとつの時間、プログラムにオススメ時刻表現、TAI64NのJavaScript実装
- 2038年問題の次は4300億年問題、TAI64N-esをBigInt化して宇宙の歴史も記録可能に!