時間戳轉換完全指南: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 位元。
使用工具庫時間戳轉換
操作步驟
- 開啟 時間戳轉換工具
- 輸入時間戳或選擇日期
- 自動顯示互轉結果
- 支援秒/毫秒切換
常見轉換
| 輸入 | 秒級時間戳 | 毫秒級時間戳 |
|---|---|---|
| 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