
Unixタイムスタンプ解説 — 概念と変換
📷 Andrey Grushnikov / PexelsUnixタイムスタンプ解説 — 概念と変換
Unixタイムスタンプとは何か、どのように機能するか、人間が読める日付に変換する方法を学びましょう。すべての開発者が知っておくべき必須の知識です。
Unixタイムスタンプとは?
Unixタイムスタンプ(エポック時間またはPOSIX時間とも呼ばれる)は、1970年1月1日00:00:00 UTCから経過した秒数です。この基準点は「Unixエポック」と呼ばれます。
例
0= 1970年1月1日、00:00:00 UTC1000000000= 2001年9月9日、01:46:40 UTC1710547200= 2024年3月16日、00:00:00 UTC
なぜUnixタイムスタンプを使うのか?
- ユニバーサル — タイムゾーンの混乱なし;同じ数値は世界中でまったく同じ瞬間を意味する
- ソート可能 — イベントは単純な整数の比較で順序付けられる
- コンパクト — フォーマットされた日付文字列ではなく単一の整数
- 言語非依存 — すべてのプログラミング言語が整数を扱える
JavaScriptでUnixタイムスタンプを使う
// 現在のタイムスタンプ(秒)
Math.floor(Date.now() / 1000);
// タイムスタンプをDateオブジェクトに変換
new Date(timestamp * 1000);
// 日付をタイムスタンプに変換
Math.floor(new Date('2026-03-16').getTime() / 1000);
2038年問題
符号付き32ビット整数として保存されたUnixタイムスタンプは2038年1月19日にオーバーフローします。現代のシステムは64ビット整数を使用しており、約2920億年はオーバーフローしません。
ミリ秒 vs 秒
- Unixタイムスタンプ(秒):
1710547200— 10桁 - JavaScriptタイムスタンプ(ミリ秒):
1710547200000— 13桁
タイムスタンプが13桁であればミリ秒単位です。1000で割って秒を得てください。
今すぐ変換
無料のUnixタイムスタンプコンバーターを使用して、Unixタイムスタンプと人間が読める日付の間で即座に変換しましょう。