EpochConvert
Unix時刻(秒)
Unix時刻(ミリ秒)
UTC時刻

Unixタイムスタンプ変換ツール

エポックタイムスタンプを読みやすい日時に変換、または任意の日時をUnixタイムスタンプに変換。ライブ時計・8言語コードスニペット・バッチ変換付き。

エポック → 日時
日時 → エポック
コードスニペット
バッチ変換

複数のタイムスタンプを貼り付けてください(1行1件)。秒とミリ秒の混在に対応しています。

Unixタイムスタンプとは?

Unixタイムスタンプ — エポックタイム・POSIXタイム・Unix時刻とも呼ばれます — は、Unixエポック(協定世界時UTC 1970年1月1日 00:00:00)から経過した秒数です。これはコンピューティングにおける基本的な概念で、タイムゾーンに依存せず、言語を問わず、算術演算に最適な形式で時刻を表現するために広く使われています。

なぜ1970年からの秒数なのか?

Unixエポックは、1970年代初頭のUnix開発者たちが基準点として選択しました。厳密には恣意的な選択でしたが、1970年はUnixが開発されていた時期に近く、当時のタイムスタンプにとってきりのよい数字を提供しました。このフォーマットは、Unixが後続のすべてのOSに与えた影響から、世界標準となりました。

秒 vs. ミリ秒

元のUnixタイムスタンプ仕様はを使用していますが、現代のプログラミング言語やAPIは精度向上のためにミリ秒を使用することが多いです。判別の目安:10桁の数値は秒(例: 1718000000)、13桁の数値はミリ秒(例: 1718000000000)です。このコンバーターは形式を自動判別します。

2038年問題

32ビット符号付き整数が格納できる最大値は2,147,483,647で、これはUTC 2038年1月19日 03:14:07に相当します。Unixタイムスタンプを32ビット符号付き整数で保存しているシステムはその日にオーバーフローし、大きな負の数に巻き戻ります。現代の64ビットシステムは約292,277,026,596年まで表現できるため、これはまだ64ビット時刻ストレージに更新されていないレガシー組み込みシステムや古いソフトウェアにのみ該当します。

よくある質問

  • Unixタイムスタンプ(エポックタイムとも呼ばれます)は、UTC 1970年1月1日 00:00:00から経過した秒数です。ほぼすべてのプログラミング言語とOSで使用される、タイムゾーンに依存しない普遍的な時刻表現方法です。
  • 10桁のタイムスタンプは秒(例: 1718000000 = 2024年6月)。13桁のタイムスタンプはミリ秒(例: 1718000000000)。このコンバーターは桁数と数値の大きさに基づいて自動判別します。
  • UTC 2000年1月1日 00:00:00のUnixタイムスタンプは946684800です。
  • UTC 2038年1月19日 03:14:07に、32ビット符号付き整数のUnixタイムスタンプが最大値(2,147,483,647)からオーバーフローして負の数になります。現代の64ビットシステムは影響を受けませんが、組み込みシステムやレガシーソフトウェアは更新が必要な場合があります。
  • ISO 8601は日付と時刻の表記に関する国際規格です。典型的なタイムスタンプは2024-06-10T14:30:00Z(ZはUTCを意味する)または2024-06-10T14:30:00+05:30(UTCオフセット付き)のようになります。APIやデータ交換に推奨されています。
  • 秒はMath.floor(Date.now() / 1000)、ミリ秒はDate.now()を使用します。ミリ秒を返すnew Date().getTime()も利用できます。