使い方
- 変換方向を選択
タイムスタンプを日付に変換するか、日付をタイムスタンプに変換するかを選択してください。
- 値を入力
Unixタイムスタンプの数値を入力するか、日付と時刻を選択してください。
- 結果を確認
変換するボタンを押すと、変換結果がさまざまな形式で表示されます。
Unixタイムスタンプとは?
Unixタイムスタンプ(Unix time、POSIX time、Epoch time)は、1970年1月1日 00:00:00 UTC(Unixエポック)から現在までに経過した秒数(seconds)を1つの整数で表した値です。タイムゾーン・サマータイム・暦の表記の違いに関係なく、世界中どこでも同じ瞬間を同じ数値で指し示すため、データベース保存・ログ記録・API通信・時刻比較において事実上の標準として使われています。
なぜ数値で表すのか?
- 比較が単純 — 2つの時刻の前後関係を整数の大小比較だけで判定できます。
- 計算が容易 — 足し引きするだけで、ただちに経過時間(秒)が得られます。
- 曖昧さがない — UTC基準の絶対時刻なので、'KSTなのかUTCなのか'といった混乱がありません。
10桁(秒)と13桁(ミリ秒)がよく使われ、JavaScriptやJavaはミリ秒を、Unixのシステムコールは秒を既定として扱います。
計算式
タイムスタンプと日付は、1000(ミリ秒換算)を介して双方向に変換されます。
- タイムスタンプ → 日付:
日付 = new Date(timestamp x 1000) - 日付 → タイムスタンプ:
timestamp = floor(UTCミリ秒 / 1000)
例: 1711324800秒を変換すると 1711324800 x 1000 = 1,711,324,800,000ミリ秒 → 2024-03-25 00:00:00 UTC になります。逆に 1970-01-01 01:00 を変換すると、1時間 = 3600秒なのでタイムスタンプは 3600 です。ここで timestamp はエポック以降の経過秒、x1000 はミリ秒換算の係数、floor は小数点以下の切り捨てを意味します。