時間戳轉換完全指南: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 位元。


使用工具庫時間戳轉換

操作步驟

  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 vs 本地時間

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 日期解析陷阱——這些知識在日常開發除錯中頻繁用到。工具庫 時間戳轉換工具 讓轉換即時完成。

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