當前 Unix 時間戳:紀元時鐘、UTC 時間與即時 Unix 時間
當前 Unix 時間戳是此刻自 1970-01-01 00:00:00 UTC 以來的秒數。了解紀元時鐘如何運作、為什麼 UTC 是基準,以及如何在常見語言中取得當前時間戳。
目前 Unix 時間戳的含義
目前 Unix 時間戳是自 1970 年 1 月 1 日 00:00:00 UTC 起經過的整秒數。即時 epoch 時鐘每秒遞增一次。如果時鐘顯示毫秒,則每秒遞增多次,通常是 13 位的值。
為什麼以 UTC 為基準
Unix 時間以 UTC 為基礎,使不同時區的電腦能就同一時刻達成一個數值上的一致。本地時間只是顯示層。兩個使用者在同一時刻載入頁面時,即使一個看到早晨、另一個看到傍晚,他們也共享相同的目前 Unix 時間戳。
如何取得目前 Unix 時間戳
每種常見語言都有取得目前 Unix 時間的簡短方法。
- JavaScript 毫秒:Date.now()
- JavaScript 秒:Math.floor(Date.now() / 1000)
- Linux 秒:date +%s
- Python 秒:int(time.time())
- PHP 秒:time()
- Go 秒:time.Now().Unix()
- PostgreSQL 秒:EXTRACT(EPOCH FROM now())
目前時間戳 vs 格式化時間
時間戳適合排序、比較、儲存與 API 負載。格式化日期適合人閱讀。大多數應用儲存時間戳或 UTC 日期時間,只有在向使用者顯示時才進行格式化。
- 在資料庫與日誌中儲存 UTC 或 Unix 時間戳
- 以使用者所在時區顯示本地時間
- 當人需要檢查 API 負載時使用 ISO 8601
- 當系統需要精簡的數值時使用 Unix 秒或毫秒
目前 Unix 時間戳常見問題
- 目前 Unix 時間戳取決於我的時區嗎?
- 不會。時間戳以 UTC 為基準,對同一時刻在全球都相同。
- 為什麼我的目前時間戳是 13 位?
- 13 位的目前時間戳通常是毫秒。除以 1000 即可得到 Unix 秒。
- 哪裡可以看到即時 Unix epoch 時鐘?
- 轉換器首頁顯示即時 epoch 時鐘,並可將該值轉換為 UTC 或本地時間。
- 目前 Unix 時間戳在每種語言中都一樣嗎?
- 就時刻而言一樣,但單位不一定。JavaScript 的 Date.now() 與 Java 的 System.currentTimeMillis() 回傳毫秒,而 Python time.time()、PHP time()、Go Unix() 與 Linux date +%s 回傳秒。比較或儲存前請確認單位。
More posts
什麼是 UTC 時間?含義、偏移與轉換詳解Unix 時間轉日期:把 Unix 時間戳轉換為可讀時間紀元時間戳詳解:Unix 時間、POSIX 時間與自 1970 年起的秒epoch 轉換器指南:轉換紀元時間、Unix 時間和時間戳日期轉 epoch:把時間轉換為 Unix 時間戳或紀元時間epoch 毫秒轉日期:轉換 13 位時間戳和 long 值2026 年初的 Unix 時間戳:1767225600 詳解JavaScript Date.now():取得與轉換 Unix 時間戳毫秒 vs 秒:讓每個應用都崩潰的單位混淆在資料庫中儲存時間戳:DATETIME vs INT vs BIGINT無需函式庫的 JavaScript 時區正確日期格式化每個開發者都發布過的 7 個 Unix 時間戳 bug紀元時間詳解:Unix 時間戳零是什麼?