Support me on Ko-fi

Unix 時間戳轉換器

專業在線 Unix 時間戳轉換工具。支持秒與毫秒互轉,提供多時區日期格式化。包含 2038 年問題科普與 Y2K 彩蛋,開發者必備的 Epoch Time 轉換器。

關於 Unix 時間戳

什麼是 Unix 時間戳?

Unix 時間戳(Unix Timestamp),也稱為 Epoch Time 或 POSIX 時間,是一種記錄時間的方式。它定義為從 1970年1月1日 00:00:00 UTC(協調世界時)開始所經過的秒數,不考慮閏秒。

為什麼使用時間戳?

  • 全球統一:無論你在地球的哪個角落,同一時刻的 Unix 時間戳都是相同的。這解決了跨時區資料存儲和同步的難題。
  • 存儲高效:相比於字串(如 "2023-12-25"),整數類型的時間戳在資料庫中佔用空間更小,索引效率更高。
  • 便於計算:計算兩個時間點之間的差值只需簡單的減法運算。

秒 (s) vs 毫秒 (ms)

  • 秒 (10位):傳統的 Unix 時間戳通常是 10 位數字(例如 1672531200)。PHP、MySQL、Linux 系統預設使用秒。
  • 毫秒 (13位):現代 Web 開發(JavaScript, Java)通常使用 13 位數字,包含了毫秒級的精度(例如 1672531200000)。
  • 本工具會自動檢測您輸入的是秒還是毫秒,您也可以手動切換模式。

⚠️ 2038 年問題 (Y2K38)

在舊的 32 位元系統中,時間戳是用 "32位元有符號整數" 存儲的。這個數值的最大上限是 2147483647,對應的時間是 2038年1月19日 03:14:07 UTC。超過這個時間,數值會溢出變成負數,系統可能會誤認為是 1901 年。現代 64 位元系統已完美解決了這個問題。

🥚 歷史彩蛋:千年蟲 (Y2K)

大家經常把 "2038年問題" 和著名的 "千年蟲 (Y2K Bug)" 混淆。

  • Y2K 是因為早期程式設計師為了節省昂貴的存儲空間,只用兩位數字存儲年份(如 99 代表 1999年)。當 2000 年到來時,電腦以為回到了 1900 年,導致全球金融和交通系統面臨癱瘓風險。
  • 有趣的是:Unix 時間戳從設計之初就完美避開了 Y2K 問題。但 Unix 工程師們沒想到 32 位元整數的盡頭(2038年)轉眼就要到了!