タイムスタンプ変換完全ガイド: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 のタイムスタンプ変換
手順
- タイムスタンプ変換ツール を開く
- タイムスタンプを入力するか日付を選択
- 相互変換結果が自動表示
- 秒/ミリ秒の切り替えに対応
よくある変換
| 入力 | 秒 | ミリ秒 |
|---|---|---|
| 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