タイムスタンプ変換完全ガイド:Unix 時間・タイムゾーン・日付計算

ユーティリティ(更新: 2026年5月28日)

Unix タイムスタンプとは?

Unix タイムスタンプは 1970-01-01 00:00:00 UTC からの経過秒数(またはミリ秒数)です。

1704067200     → 2024-01-01 00:00:00 UTC
1704067200000  → 2024-01-01 00:00:00 UTC (ミリ秒)
種類 桁数 範囲 用途
10 桁 ~2038 年 Linux、MySQL、PHP
ミリ秒 13 桁 ~2286 年 JavaScript、Java、API

2038 年問題:32 ビット環境では秒単位のタイムスタンプが 2038-01-19 にオーバーフローします。現代のシステムは 64 ビットが一般的です。


ToolsKu のタイムスタンプ変換

手順

  1. タイムスタンプ変換ツール を開く
  2. タイムスタンプを入力するか日付を選択
  3. 相互変換結果が自動表示
  4. 秒/ミリ秒の切り替えに対応

よくある変換

入力 ミリ秒
2024-01-01 00:00:00 UTC 1704067200 1704067200000
2025-06-01 00:00:00 UTC 1748736000 1748736000000
現在 Date.now()/1000 Date.now()

タイムゾーンの扱い

UTC とローカル時刻

UTC:        2024-06-01 08:00:00
北京:       2024-06-01 16:00:00 (UTC+8)
東京:       2024-06-01 17:00:00 (UTC+9)
ニューヨーク: 2024-06-01 04:00:00 (UTC-4, EDT)

原則:タイムスタンプは世界共通(UTC 基準)。表示時にだけローカルタイムゾーンへ変換します。

JavaScript の落とし穴

// ❌ 暗黙のローカルタイムゾーン
new Date('2024-06-01').getTime(); // ローカル 0 時として解釈されることがある

// ✅ UTC を明示
new Date('2024-06-01T00:00:00Z').getTime(); // 明確に UTC

// ✅ タイムスタンプから生成(タイムゾーンの曖昧さなし)
new Date(1704067200000); // 世界中で一致

開発者向け実践

API デバッグ

{
  "created_at": 1704067200,
  "updated_at": 1704153600,
  "expires_at": 1706745600
}

created_atタイムスタンプ変換ツール に貼れば、人間が読める時刻に変換できます。

ログ分析

[1704067200] ERROR: Connection timeout
[1704067203] INFO: Retrying...
[1704067210] INFO: Connected

変換後:

[2024-01-01 00:00:00] ERROR: Connection timeout
[2024-01-01 00:00:03] INFO: Retrying... (3 秒後にリトライ)
[2024-01-01 00:00:10] INFO: Connected (7 秒後に接続)

Cron 式

0 0 * * *     → 毎日 0:00
0 */6 * * *   → 6 時間ごと
0 9 * * 1-5   → 平日 9:00

Cron 説明ツール で Cron 式を平易な説明に変換できます。


関連ツール


まとめ

タイムスタンプはシステムやタイムゾーンをまたいだ時間の共通フォーマットです。秒とミリ秒の区別、UTC 基準、JavaScript の日付解析の罠——日常の開発デバッグで頻出します。ToolsKu の タイムスタンプ変換ツール で即座に変換できます。

#时间戳#Unix#日期#时区#Cron