Unixタイムスタンプ変換ツール
秒、ミリ秒、マイクロ秒、ナノ秒のUnixタイムスタンプを相互変換
入力
出力
Readme
Unix timeとは?
Unix time(epoch timeまたはPOSIX timestampとも呼ばれます)は、1970年1月1日00:00:00 UTCからの経過時間を表します。システムによって使用する単位は異なり、Unix shell、PHP、ほとんどのデータベースでは秒、JavaScriptとJavaではミリ秒、Pythonのtime.time_ns()、Go、InfluxDBではナノ秒が使用されます。また、多くのトレーシングツールやログツールではマイクロ秒が使用されます。同じ時刻でも、秒では1700000000、ナノ秒では1700000000000000000となるため、単位を取り違えると日付が数千年ずれてしまいます。
ツールの説明
このツールは、Unix timestampを秒、ミリ秒、マイクロ秒、ナノ秒の間で変換し、その値が表す日付を表示します。timestampを貼り付けると桁数から単位が検出されます。単位を自分で選択することもできます。通常のJavaScriptの数値では大きすぎるナノ秒timestampも含め、すべての変換を正確に行います。
機能
- 秒、ミリ秒、マイクロ秒、ナノ秒の間で1ステップで変換
- 桁数から入力単位を検出、または入力単位を手動で選択
- 19桁のナノ秒値でも、丸め誤差なしで完全な精度を維持
- 小数(
1700000000.123)、1970年より前の日付を表す負の値、指数表記(1.7e9)に対応 - 整数を想定するAPI向けに、整数のみの出力を選択可能
- UTCでISO 8601形式の日付を最大ナノ秒精度で表示し、ローカルタイムゾーンでの日付も表示
- 不要な場合はマイクロ秒フィールドとナノ秒フィールドを非表示に設定可能
仕組み
timestampは正確な10進数として読み取られ、浮動小数点数ではなく任意精度整数を使って、ナノ秒単位の整数として保存されます。各出力では、その値を単位の大きさで割って正確な結果を書き出すため、ミリ秒から秒への変換では、丸められた値ではなく1700000000.123が得られます。「整数のみ」では、値が該当する単位に切り下げられます。これは1970年より前の日付をUnix timeで扱う方法と同じで、-1.5秒は-2になります。
単位を自動検出する場合、ツールは1973年から5138年までの日付を想定します。11桁以下は秒、12~14桁はミリ秒、15~17桁はマイクロ秒、18桁以上はナノ秒として読み取られます。
ヒント
- 桁数による検出では、1973年3月より前のミリ秒timestampと秒timestampなど、短い値を区別できません。日付が正しくないように見える場合は、入力単位を自分で選択してください。
- 「現在時刻」を選択すると、使用中の単位で現在の時刻が入力されます。ブラウザが提供する時刻の精度はミリ秒までなので、マイクロ秒値とナノ秒値の末尾の桁は0になります。
- 入力内のスペースとアンダースコアは無視されるため、
1_700_000_000のような値を貼り付けることができます。