2145916800 Unix 時間戳
2145916800 = 2038-01-01 00:00:00 UTC
2145916800 是 2038-01-01 00:00:00 UTC
Unix 時間戳 2145916800 等於 2038-01-01T00:00:00.000Z — 2038年1月1日星期五 00:00:00 UTC。該值表示自 Unix 紀元(1970-01-01 00:00:00 UTC)以來經過的秒數。
秒 vs 毫秒
2145916800 是 Unix 秒。JavaScript、Java 以及部分資料庫驅動需要 Unix 毫秒 — 同一時刻,值 × 1000。
- Unix 秒: 2145916800
- Unix 毫秒: 2145916800000
- ISO 8601 UTC: 2038-01-01T00:00:00.000Z
- 2038 年的第幾天: 1
各時區對應值
2145916800 是同一個瞬間,但顯示出的日期和時間因時區而異。
- UTC: 2038-01-01 00:00:00
- America/New_York: 2037-12-31 19:00:00
- America/Los_Angeles: 2037-12-31 16:00:00
- Europe/London: 2038-01-01 00:00:00
- Europe/Berlin: 2038-01-01 01:00:00
- Asia/Shanghai: 2038-01-01 08:00:00
- Asia/Tokyo: 2038-01-01 09:00:00
- Australia/Sydney: 2038-01-01 11:00:00
在程式碼中轉換
最常被問到的語言的一行解法。JavaScript Date 需要乘 1000。
- JavaScript: new Date(2145916800 * 1000).toISOString() → "2038-01-01T00:00:00.000Z"
- JavaScript (ms form): new Date(2145916800000).toISOString()
- Python: datetime.fromtimestamp(2145916800, tz=timezone.utc)
- Python ISO: datetime.fromtimestamp(2145916800, tz=timezone.utc).isoformat()
- Linux: date -u -d @2145916800
- macOS: date -u -r 2145916800
- Go: time.Unix(2145916800, 0).UTC()
- SQL (PostgreSQL): SELECT to_timestamp(2145916800) AT TIME ZONE 'UTC';
- SQL (MySQL): SELECT FROM_UNIXTIME(2145916800);
常見錯誤:JavaScript 中的 new Date(2145916800)
JavaScript 的 Date 建構子需要毫秒。直接傳入秒值會讓 Date 把它當成 2,145,916,800 毫秒 — 距離紀元只有幾週。結果落在 1970 年初。
- 正確: new Date(2145916800 * 1000) → 2038-01-01T00:00:00.000Z
- 錯誤: new Date(2145916800) → 1970-01-25T20:05:16.800Z
- 快速規則:10 位數是秒;13 位數是毫秒。
2145916800 時間戳常見問題
- Unix 時間戳 2145916800 對應的日期是?
- 2145916800(Unix 秒)對應 2038-01-01T00:00:00.000Z — 2038年1月1日星期五 00:00:00 UTC。
- 2145916800 轉成毫秒是多少?
- 2145916800000 毫秒是同一時刻 — 這是 JavaScript Date 和 Java Instant 期待的形式。
- 為什麼 new Date(2145916800) 顯示 1970?
- JavaScript Date 接收毫秒。把秒值當作毫秒解讀會指向 1970 年初。請改用 new Date(2145916800 * 1000)。
- 如何在 shell 中轉換 2145916800?
- Linux:date -u -d @2145916800。macOS:date -u -r 2145916800。兩者都回傳 UTC 日期。