D. J. Bernstein
UNIX
daemontools

tai64n プログラム

tai64n tai64n は各行に正確なタイムスタンプを付けます。

使い方

tai64n は標準入力から行を読み、各行に対して、次のものを標準出力に書き出します。
  1. @
  2. 正確なタイムスタンプ
  3. スペース
  4. 入力行のコピー
そのタイムスタンプは tai64n が行の最初の文字を読んだ時間を示します。

入力が終りに達したら、tai64n はコード 0 で終了します。 標準入力から読んだり、標準出力へ書いたりするときに問題が生じたら、エラーメッセージを出力せずにコード 111 で終了します。

tai64n は起動後に一切メモリを割り当てません。

タイムスタンプ

tai64n によって使われるタイムスタンプは 外部 TAI64N 形式 における 12 バイトの TAI64N 符号です。 これは 24 桁の小文字の16進数として出力されます。 tai64nlocal を使って、そのタイムスタンプを人が読める形式に変換できます。

例えば、タイムスタンプ 4000000037c219bf2ef02e94 は起源 1970 TAI からちょうど 935467455.787492500 秒経過したナノ秒を示します。 16進数 37c219bf は 935467455 であり、16進数 2ef02e94 は 787492500 です。

tai64n の現在の実装は 1970-01-01 00:00:10 TAI から経過した TAI の秒数のような現在の時間を返す UNIX の gettimeofday ライブラリ・ルーチンに依存します。 大抵の gettimeofday の実装は 2038 年には対応してないことに気をつけてください。 さらに、大抵の時計は正確に設定されていません。


訳:滝澤 隆史
Last modified: Wed Apr 19 14:08:29 2000