Unix時間変換ツール
Unixタイムスタンプ(秒・ミリ秒)と日時を相互変換します。日本時間(JST)とUTCの両方を並べて表示します。処理はすべてブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。
Unix時間 → 日時
桁数から「秒」と自動判定しています。
| ISO 8601 | 2023-11-14T22:13:20.000Z |
|---|---|
| UTC | 2023-11-14 22:13:20 UTC |
| 日本時間(JST) | 2023-11-15 07:13:20 |
日時 → Unix時間
日時を入力してください。
Unix時間変換の使い方
Unix時間から日時を調べる
タイムスタンプの数値を入力します。秒・ミリ秒は桁数から自動判定しますが、手動で切り替えることもできます。
日時からUnix時間を調べる
「日時→Unix時間」欄で日時を選ぶと、その時刻のUnix秒・ミリ秒が表示されます。
現在時刻を使う
「現在時刻を使う」ボタンで、その瞬間のUnix時間・日時を両方向に反映できます。
仕組みと考え方
Unix時間(Unixタイムスタンプ、エポック秒)は、協定世界時(UTC)の1970年1月1日0時0分0秒からの経過秒数で時刻を表す方式です。プログラムやデータベースの内部では、タイムゾーンを持たない単純な数値として時刻を扱えるため広く使われています。ミリ秒単位(1000倍した値)で扱う言語・APIも多く、桁数だけでは区別しにくいため、本ツールは値の大きさ(1兆未満なら秒、以上ならミリ秒)から自動判定しつつ、手動でも切り替えられるようにしています。
同じ瞬間でも、UTC(協定世界時)と日本標準時(JST、UTC+9時間)では時刻の表記が9時間ずれます。本ツールはブラウザ標準の `Intl.DateTimeFormat` に `Asia/Tokyo` を指定して日本時間を計算しているため、単純に9を足すだけの実装と違い、タイムゾーンデータベースに基づいた正しい変換になります(日本には現在サマータイムが無いため、実務上は常に+9時間と同じ結果になります)。
「日時→Unix時間」は `<input type="datetime-local">` で選んだ値を、ブラウザが動作している端末のローカルタイムゾーンの時刻として解釈します。海外のパソコンやスマートフォンで開いた場合は、その端末の設定時刻を基準に変換される点にご注意ください。
使いどころ・注意点
- APIのレスポンスやログのタイムスタンプが秒かミリ秒か分からないときは、まず自動判定の結果を確認する。
- データベースの日時型(TIMESTAMP等)とUnix時間を相互変換する際は、保存側のタイムゾーン設定(UTC保存かローカル保存か)も合わせて確認する。
- 西暦2038年問題(32bit符号付き整数での秒表現の上限)は、64bitで扱う現代の多くの環境では影響しませんが、古い組み込み機器では今も起こり得ます。
- 「現在時刻を使う」で得られる値は取得した瞬間の時刻です。ページを開いたままにしても自動更新はされません。
よくある質問
入力した日時は外部に送信されますか?
いいえ。変換はブラウザ内のJavaScript(標準のDateオブジェクトとIntl API)だけで行い、当サイトのサーバーへは送信していません。
秒とミリ秒はどう見分ければよいですか?
現在に近い日時であれば、秒は10桁、ミリ秒は13桁になります。本ツールは1兆(1e12)を境に自動判定しますが、値が古い日時や未来の日時の場合は手動で切り替えてください。
表示されるJSTとUTCの差が9時間になっていません。
入力値が秒とミリ秒で取り違えられている可能性があります。まず「単位」の自動判定結果が意図通りか確認してください。
マイナスの値(1970年より前)は変換できますか?
できます。負のUnix時間は1970年1月1日より前の日時を表し、本ツールも同様に計算します。
うるう秒は考慮されていますか?
考慮していません。Unix時間の定義上、うるう秒は無視して1日を86400秒として数える方式が一般的で、本ツールもこれに従います。