Handytool
開発者ガイド7 分で読める2026年6月24日 に更新

エポック時間、詳しく解説

Unix タイムスタンプの正体

Unix タイムスタンプは、1970年の決められた瞬間からの秒数を数えたものです。このガイドでは、この数字がどこから来たのか、なぜ一部はミリ秒なのか、タイムスタンプを一目で読む方法を説明します。

重要なポイント

  • 01Unix タイムスタンプは、1970年1月1日 00:00:00(UTC)をスタート地点(エポック)として、それからの経過秒数を数えたものです。
  • 0210桁の数字は通常は秒を示し、13桁の数字は通常はミリ秒を示しています。1000で割るとミリ秒から秒に変換できます。
  • 03Unix 時間は常に UTC で計算されるため、同じタイムスタンプでも世界中の異なるタイムゾーンでは異なる時刻として表示されます。

定義を一文で説明すると

Unix タイムスタンプは、1970年1月1日 00:00:00(協定世界時 UTC)から経過した秒数のことです。このスタート地点を Unix エポックと呼び、すべてのタイムスタンプはここから計算されます。今このページを読んでいる現在、その値は17億秒を超えています。

コンピュータが1つの固定された日付に統一した理由は効率性です。単一の整数は「2026年6月24日 3時14分(中央ヨーロッパ夏時間)」のような文字列よりも、格段に保存、比較、計算がしやすいのです。イベントを時系列で並べたり、何かにかかった時間を測ったり、一つの出来事がもう一つの出来事より前に起きたかどうかを確認したりするのは、すべて2つの整数を比べるだけで済みます。

このカウントが UTC に固定されているため、Unix タイムスタンプにはタイムゾーン情報が含まれていません。同じ数字の1750000000は、地球上のどこでも同じ瞬間を指しています。ただし東京で表示される時刻とニューヨークで表示される時刻は異なります。タイムゾーンは、この数字を人間が読める日付に変換するときに初めて適用されます。

秒とミリ秒:使い分ける方法

正統派の Unix タイムスタンプは秒単位で計測されていますが、多くの現代的なソフトウェア、特に JavaScript ではミリ秒で計測されています。ミリ秒は秒の1000倍の大きさです。この2つを混同することは、タイムスタンプバグの最も一般的な原因であり、結果として表示される日付は1970年かもしくは約5万年後になってしまいます。

この2つを見分けるもっとも簡単な方法は桁数です。最近の日付の秒単位タイムスタンプは10桁です(1750000000)。同じ瞬間をミリ秒で表すと13桁になります(1750000000000)。もし数値が1000倍大きく見える場合は、ほぼ確実にミリ秒なので、1000で割って秒に変換してください。ライブラリがミリ秒を期待しているのに秒を渡してしまった場合は、1000を掛けてください。

さらに細かい単位を使うシステムもあります。マイクロ秒(16桁)とナノ秒(19桁)は、高精度のログ記録やデータベースに現れます。ルールは同じです。各ステップごとに1000倍になります。わからない場合は、その数字をコンバーターに貼り付けて、結果が今日の日付に近いかどうかを確認してください。

Unix タイムスタンプを日付に変換する方法

手作業で計算する必要はありません。数字を貼り付けて、自分のタイムゾーンと UTC での日付を読むだけです。

  1. 01

    Unix タイムスタンプコンバーターを開く

    Handytool の Unix タイムスタンプコンバーターにアクセスしてください。すべてはブラウザで実行されるため、サーバーにデータが送信されることはありません。

  2. 02

    数字を貼り付ける

    タイムスタンプを入力してください。ツールはその長さに基づいて秒とミリ秒を自動判定するため、通常は指定する必要がありません。

  3. 03

    人間が読める日付を確認する

    UTC とあなたのローカルタイムゾーンの両方で日付と時刻が表示されるため、正しい瞬間を読んでいることを確認できます。

  4. 04

    逆方向に変換する

    カレンダーの日付と時刻を入力すると、データベース保存、API 呼び出し、スケジュール実行用の対応する Unix タイムスタンプが得られます。

なぜ1970年なのか、その他の特異性

エポックは1970年代初頭に Bell Labs で Unix を開発していたエンジニアたちによって選ばれました。最近で、丸い、都合の良い日付である必要があり、1970年の始まりが適していました。その当時、カウンターがすぐに膨大な数字を必要としないほど最近でしたが、気にするファイルやプロセスの時刻をカバーするには十分に遡ったのです。負のタイムスタンプは1970年より前の瞬間を表すため、この仕組みで過去の日付も扱えます。

細かい点ですが、Unix 時間はうるう秒を無視します。本当の UTC は地球の若干不規則な回転に追従するため、時折余分な秒を挿入しますが、Unix 時間はすべての日が正確に86,400秒であると仮定しています。これにより計算は単純に保たれますが、その代わり厳密な天文時間からわずかに遅れることになります。これはほぼ全員が喜んで受け入れるトレードオフです。

タイムスタンプを Discord イベント、cron スケジュール、またはカウントダウンと並べたいときは、コンバーターを時間帯ツールと組み合わせて、視聴者が住んでいる様々な地域で同じ瞬間を見ると便利です。

Unix タイムスタンプのよくある質問

Unix タイムスタンプは秒ですか、ミリ秒ですか?

システムによって異なります。従来の Unix 時間は秒単位です(現在の日付は10桁の数字)。JavaScript や多くのウェブ API はミリ秒を使っています(13桁)。ミリ秒を秒に変換するには1000で割り、その逆は1000を掛けます。

Unix タイムスタンプにはタイムゾーンが含まれていますか?

いいえ。Unix 時間は常に UTC で計算され、タイムゾーン情報は含まれていません。タイムゾーンは、この数字を読める日付に変換するときだけ適用されます。だから世界中で同じタイムスタンプが異なるシステムの時刻で表示されるのです。

現在の Unix タイムスタンプは何ですか?

毎秒変わります。2026年中盤現在、約17億です。コンバーターを開いて現在の値を確認したり、特定の日付をそのタイムスタンプに変換したりできます。

エポック時間とは何ですか?

エポック時間は、Unix 時間の別の呼び方です。エポックは固定の原点 — 1970年1月1日 00:00:00(UTC)— であり、エポック時間はそこから計算された秒数です。

Unix タイムスタンプは負の数になりますか?

はい。1970年1月1日より前の日付は負の数で表現され、エポックから秒数を逆方向にカウントします。

関連ツール

開発者 ツールで作業を続ける

開発者 ツール