技術リファレンス&アーキテクチャガイド

Unix時間戳&エポック時刻相互変換 チートシート — リファレンスガイド

POSIXエポック秒(1970年1月1日基準)の秒・ミリ秒・マイクロ秒・ナノ秒相互変換、タイムゾーン計算、ISO 8601フォーマット、2038年問題の完全ガイド。

主要パラメータ&設定項目

エポック時間戳入力number / string

秒(10桁)、ミリ秒(13桁)、マイクロ秒(16桁)、ナノ秒(19桁)による整数エポック値。

初期値: 1700000000
変換先タイムゾーンstring

双方向変換を行う対象のIANAタイムゾーン識別子(UTC、Asia/Tokyoなど)。

初期値: UTC
ISO 8601日時文字列string

標準化されたUTC/現地日時文字列(例: 2026-10-14T00:00:00Z)。

初期値: 現在日時

プロの活用テクニック&推奨設定

POSIX規格におけるエポックの厳密な定義

Unix時間は1970年1月1日00:00:00 UTCを基点とし、閏秒を意図的に除外して1日を厳密に86,400秒として積算します。

分散システムにおけるサブミリ秒の順序保証

KafkaやCassandra、Goランタイムなど高スループットな分散基盤では、マイクロ秒(16桁)やナノ秒(19桁)タイムスタンプを用いてイベントの決定論的な順序を保持します。

2038年問題(Y2038)への耐性

32ビット符号付き整数は2038年1月19日03:14:07 UTCにオーバーフローします。現代の64ビットシステムでは数千億年先まで安全に取り扱い可能です。

よくあるトラブルと解決策

JavaScriptとバックエンド言語での10桁・13桁の桁数不一致

PythonやGoなどのバックエンドはエポック「秒」(10桁)を返しますが、JavaScriptのnew Date()は「ミリ秒」(13桁)を要求します。バックエンド値を1000倍して渡す必要があります。

夏時間(DST)の境界をまたぐ変換時の時刻重複やスキップ

現地時刻はサマータイム切り替え時に重複またはスキップします。データベースには常にUTCエポック秒で保存し、表示層でのみ現地タイムゾーンを適用してください。

よくある質問 (FAQ)

Unixエポックとは何ですか?どのように定義されていますか?▼

Unixエポックは1970年1月1日 00:00:00 UTCを起点(0秒)とする時刻基準であり、コンピュータシステム間で標準化された統一時間計測の基準点です。

なぜJavaScriptのDate.now()は13桁で、Pythonのtime.time()は10桁なのですか?▼

JavaScriptはブラウザ描画などのため「ミリ秒」(13桁)単位を採用しており、PythonやC言語のPOSIX標準APIは「秒」(10桁+小数)を基本単位としているためです。

2038年問題とは何ですか?現在のシステムは影響を受けますか?▼

32ビット符号付き整数で秒数を管理していたシステムが2038年に上限を迎える問題です。現代の主要OS、データベース、ブラウザは64ビット整数に移行済みであり安全です。

Unixタイムスタンプは閏秒を考慮していますか?▼

いいえ。POSIX規格では1日は常に厳密に86,400秒と定められており、閏秒が挿入される際は時計を同じ秒数で刻むか補正することで連続性を維持します。

関連するおすすめ開発ツール

すべてのツール →