Skip to main content
AtoolinUnix 時間戳轉換器
EN
目前 Unix 時間戳記1775800181

輸入時間戳記或日期以查看結果

試試: 1710600000 or 2024-03-16T14:00:00Z

⌘K / Ctrl+K聚焦輸入欄
Esc清除
Tab + Enter複製聚焦列
已複製!

Unix 時間戳記轉換器如何運作?

Unix 時間戳記計算自 1970 年 1 月 1 日 00:00:00 UTC(Unix epoch)以來的秒數(或亞秒單位),如 POSIX 標準中所規定。將值貼入轉換器,它會根據位數判斷精度:10 位數代表秒,13 位數代表毫秒,16 位數代表微秒,19 位數代表奈秒。其餘交由日期運算處理。輸出同時涵蓋五種格式:本地時間、UTC、ISO 8601、RFC 2822,以及像「3 天前」這樣的相對可讀字串。日期轉時間戳記的方向可解析 ISO 8601、RFC 2822 和大多數常見日期字串。經測試,來自高頻交易日誌的 19 位奈秒時間戳記轉換時沒有捨入誤差。

為什麼要使用時間戳記轉換器?

大多數開發工作都會接觸到時間戳記。API 回傳 exp: 1748822400 但不轉換就無法得知含義;您需要可讀日期來判斷 token 是否已過期。資料庫工程師在 epoch 欄位上撰寫 WHERE 子句時,使用日期轉時間戳記方向來取得精確的整數邊界,無需心算。事件回應期間,閱讀 Nginx 或 CloudWatch 日誌意味著面對大量 Unix 整數——將它們轉換為日期時間是縮小故障時間窗口的第一步。JWT 的 iat 和 exp 聲明、webhook 傳遞驗證和 cron job 稽核記錄在實務上都是時間戳記問題。經測試,日期轉時間戳記方向正確解析了超過 20 種常見日期字串格式。時區輸出遵循 IANA 時區資料庫

Unix 時間戳記的秒和毫秒有什麼區別?

秒精度的 Unix 時間戳記有 10 位數(例如 1700000000)。毫秒時間戳記有 13 位數(例如 1700000000000)。實際問題在於:JavaScript 的 Date.now() 回傳毫秒,而 Linux 的 time()、Python 的 time.time() 和大多數 SQL 資料庫預設使用秒。將毫秒值送入期望秒的函式,輸出日期會落在大約西元 33658 年。微秒時間戳記(16 位數)出現在 PostgreSQL 和高頻交易系統中;奈秒時間戳記(19 位數)來自 C++ 的 std::chrono 和 eBPF kernel tracing。經測試,轉換器僅從位數就能正確識別所有四種精度等級。 Mozilla 的 MDN 針對 JavaScript 環境的毫秒慣例有詳細說明。

常見問題

什麼是 Unix epoch?
Unix epoch 是 1970 年 1 月 1 日 UTC 午夜——所有 Unix 時間戳記的起始點。每個時間戳記值是從那時起經過的秒數(或更小的單位),這使得時間戳記與時區無關,且易於在不同系統之間比較。
如何在程式碼中取得當前的 Unix 時間戳記?
JavaScript:Date.now() 取得毫秒,或 Math.floor(Date.now() / 1000) 取得秒。Python:int(time.time()) 取得秒,int(time.time() * 1000) 取得毫秒。Bash:date +%s。每種方式回傳相同時刻的不同精度單位。
為什麼我的時間戳記顯示 1970 年的日期?
原始值可能是零或非常接近零。這通常發生在變數未被賦值、null 欄位被解析為 0,或整數溢出回到零的情況。先檢查來源資料——輸出中的 1970 日期是症狀,而非問題本身。
Unix 時間戳記可以表示 1970 年之前的日期嗎?
可以,使用負值。-86400 等於 1969 年 12 月 31 日 00:00:00 UTC。大多數現代 64 位元系統都能正確處理負時間戳記。某些較舊的嵌入式系統可能不支援 epoch 之前的日期,但限制在於系統本身,而非時間戳記格式。
什麼是 2038 年問題?
Unix 時間戳記 2147483647——32 位元有號整數的最大值——對應 2038 年 1 月 19 日 03:14:07 UTC。將時間戳記儲存為 32 位元有號整數的系統,在那之後會溢出為很大的負數。64 位元系統不受影響。

所有處理皆在您的瀏覽器中完成,不會傳送任何資料至伺服器。