Unix Timestampと日時をブラウザ内で相互変換する
秒・ミリ秒のTimestampをUTCや指定TimeZoneへ変換し、日時からUnix秒・ミリ秒も生成できます。入力内容は外部送信されません。
UNIX時間・日時を変換する結論:入力日時のTimeZoneを明示し、UTC上の瞬間へ直してからTimestampを得る
日時入力欄へ壁時計を入れ、UTCまたはAsia/Tokyo等を選択します。変換結果のUTC、Offset、Unix秒、Unixミリ秒を確認します。
Offsetのない日時文字列を「何となくLocal」と解釈しないでください。APIやDBが期待するTimeZoneと単位を先に確認します。
桁数だけで単位を確定せず、値の出所・単位・想定日時範囲を一緒に確認してください。
壁時計からInstantを一意に決める
Calendar DateとClock TimeへIANA TimeZone Ruleを適用してUTC Instantを求めます。DST開始時の存在しない時刻は変換せず、終了時の重複時刻は候補が複数になります。
現行ツールは重複時刻では先に到来する候補を採用して警告します。任意の候補選択UIはありません。
| 確認対象 | 見る内容 | 判断 |
|---|---|---|
| 日時 | 年月日・時分秒・ms | 実在するか |
| TimeZone | IANA名 | 入力の地域か |
| DST | 欠落・重複 | 警告があるか |
| 出力 | 秒・ミリ秒 | 利用先仕様か |
Unix Timestamp Converterで確認する手順
- 日時を入力します。
- 入力のTimeZoneを選択します。
- UTCとOffsetを確認します。
- 必要なUnix秒・ミリ秒をコピーします。
日時だけではTimestampを一意に決められません。TimeZoneを必ず指定してください。
日時からTimestampになるまでの流れ
入力した壁時計へTimeZone Ruleを適用し、UTC Instantを求め、そのEpoch差を秒またはミリ秒で表します。
- Calendar Date / Timeを検証
- IANA TimeZoneを適用
- UTC Instantへ変換
- Epoch差を出力
秒・ミリ秒とJavaScript Dateの単位を分ける
一般的なUnix Timestampは1970-01-01 00:00:00 UTCからの経過秒数です。一方、JavaScriptのDate、Date.now()、getTime()は同じEpochからのミリ秒数を扱います。秒をDateへ渡す場合は1000倍、Dateのミリ秒からUnix秒を得る場合は用途に応じて1000で割って整数化します。
| 例 | 候補単位 | 確認方法 |
|---|---|---|
| 1723456789 | Seconds | 変換結果が想定年代か、API仕様が秒かを確認 |
| 1723456789000 | Milliseconds | JavaScript DateやAPI仕様の単位を確認 |
| 1723456789000000 | Microseconds候補 | 現行ツールへ直接入れず、仕様に従い1000で割る |
| 1723456789000000000 | Nanoseconds候補 | Number精度を避け、String・BigInt対応処理を使う |
Timestampの瞬間とTimeZone表示を分ける
Unix Timestampは1つの瞬間を表す数値であり、Timestamp自体へ「JST Timestamp」「UTC Timestamp」という表示用TimeZoneが埋め込まれているわけではありません。同じ値をUTC、Asia/Tokyo、America/New_Yorkで表示するとCalendar DateとClock Timeが変わります。
固定で9時間を足す方法はAsia/Tokyoの現在のOffset説明には使えても、一般的なTimeZone変換には使えません。IANA TimeZoneとIntl.DateTimeFormatへ、その瞬間に適用されるOffsetやDST Ruleの判断を任せます。Offsetのない日時から逆変換するときは、どのTimeZoneの壁時計なのかを先に決めます。
UTC表記の末尾Z、+09:00等のOffset、IANA TimeZone名を区別してください。同じ文字列でもTimeZoneの解釈が異なれば別のTimestampになります。
日時がおかしい場合の切り分け
1時間ずれる場合はDST、9時間ずれる場合はUTCとJSTの解釈を確認します。
2026-02-30等はDateの自動繰上げへ任せずInvalidとして修正します。
- 入力形式がdatetime-localか
- TimeZoneを選んだか
- DST境界でないか
- 秒とmsを間違えていないか
現行のUnix Timestamp Converterで確認できる範囲
DevelopToolsのUnix Timestamp Converterは、Unix秒またはUnixミリ秒を日時へ変換し、日時とIANA TimeZoneからUnix秒・ミリ秒を逆算します。処理はブラウザ内で完結し、入力値や変換結果をサーバーへ送信・保存しません。
| 項目 | 現行ツールの動作 |
|---|---|
| 入力単位 | 自動判定・秒・ミリ秒。自動判定は整数部12桁以上をミリ秒とする推定 |
| 日時表示 | UTC、選択TimeZone、ISO 8601、RFC 3339、日付、時刻、曜日、現在との差、UTC Offset |
| TimeZone | 端末、UTC、Asia/Tokyo等の選択肢と任意のIANA TimeZone |
| 逆変換 | datetime-local形式の壁時計とTimeZoneからUnix秒・ミリ秒を生成 |
| 特殊日時 | 負のTimestamp、1970年以前、JavaScript Date範囲内の2038年以降へ対応 |
| 夏時間 | 存在しない壁時計はError、重複する壁時計は先に到来する候補を採用して警告 |
| 未対応単位 | Unix Microseconds・Nanosecondsの直接入力と自動変換には未対応 |
桁数による自動判定は便宜的な推定です。過去・将来の値、先頭Zero、独自Epoch、Microseconds、Nanosecondsでは誤判定し得るため、Source Systemの仕様と想定日時範囲を必ず照合します。
仕様とRuntimeの一次資料で確認する
JavaScript DateのEpochミリ秒、parse、toISOString、Intl.DateTimeFormatはMDNとECMAScript仕様を基準に確認します。Internet日時表現はRFC 3339、JWTのNumericDateはRFC 7519、2038年問題は利用Runtime・OS・Databaseの整数表現と公式資料を確認します。
具体例:JSTの2026-08-12 12:30をUnix秒へ変換する
日時とAsia/Tokyoを入力します。
UTCでは同日の03:30となり、そのInstantに対応する秒・ミリ秒が表示されます。
- 日時を入力
- Asia/Tokyoを選択
- UTCを確認
- Unix秒をコピー
Asia/Tokyoは現在DSTを採用しませんが、他地域では季節によりOffsetが変わります。
よくある質問
- UNIX時間は秒ですか、ミリ秒ですか?
- 一般的なUnix Timestampは秒ですが、JavaScript Dateや一部APIはミリ秒を使います。10桁・13桁は目安にとどめ、入力元の仕様と想定年代を確認してください。
- UNIX時間はUTCですか?
- TimestampはEpochからの経過値で1つの瞬間を表します。UTCやJSTは、その瞬間を人間向けの日時として表示するときに適用します。