Skip to content
Unix 時間戳轉換器
Tools

Unix 時間戳轉換器

在 epoch 時間與日期之間互轉,附即時當前時間與 ISO 8601。

Live Unix time — now
Timestamp → date
Date → timestamp
Discord timestamp tags Shows in each reader's local timezone

Paste any Unix timestamp (seconds or ms) or click Now — Discord renders these tags dynamically for every reader.

Runs entirely in your browser. Nothing is uploaded.

即時將 Unix 時間戳記轉換為日期——雙向轉換

這個 Unix 時間戳記轉換器可將任意 epoch 時間轉換為人類可讀的日期,也可將任意日期轉換回時間戳記,完全在您的瀏覽器中執行。即時計時器顯示當前 Unix 時間(以秒和毫秒為單位),方便您隨時複製最新的 epoch 值。無需註冊,無伺服器,不上傳任何資料。

貼上任意數字,工具會自動識別其單位:10 位為秒,13 位為毫秒,16–17 位為微秒,然後以本地時間、UTC、ISO 8601、RFC 2822 以及友善的相對格式(如「3 小時前」)顯示結果。每個輸出都有一鍵複製按鈕。

時間戳記 → 日期 與 日期 → 時間戳記

時間戳記 → 日期面板接受任意正數或負數 Unix 時間戳記。負數時間戳記表示 1970 年之前的日期——Unix 時間戳記 −86,400 對應 1969 年 12 月 31 日 00:00:00 UTC。您可以覆蓋自動偵測的單位,強制指定秒、毫秒或微秒。

日期 → 時間戳記面板則反向運作:選擇任意日期和時間,從完整的 IANA 時區清單中選擇時區,即可取得該時刻對應的 Unix 秒和毫秒值。預設顯示當前時間,方便您立即查看今日的 epoch 值。

Discord 時間戳記標籤——生成全部七種格式

Discord 使用 <t:1700000000:F> 這樣的標籤在聊天訊息中渲染 Unix 時間戳記,Discord 客戶端會自動以每位讀者的本地時區顯示。七種格式代碼為:t(短時間)、T(長時間)、d(短日期)、D(長日期)、f(短日期和時間——預設)、F(帶星期幾的長日期和時間)和 R(相對時間——「3 小時後」、「2 年前」)。

大多數 Discord 時間戳記產生器只能產生七種格式中的一兩種。本工具一次性產生全部七種格式,並附帶每種格式在您本地時區的預覽,每個標籤都有複製按鈕。支援 iPhone、Android 和桌面端。

與 EpochConverter.com 和 unixtimestamp.com 的比較

EpochConverter.com 是該類別的領先工具——它能很好地處理秒和毫秒時間戳記,速度也很快。但它不能自動偵測單位(需要手動指定秒還是毫秒),沒有 Discord 標籤產生器,也不支援微秒。Unixtimestamp.com 更簡單——僅支援秒,沒有 Discord 輸出,也沒有相對時間。

本工具透過位數自動偵測三種單位,產生全部七種 Discord 格式標籤,顯示相對時間,且完全在瀏覽器中執行,無需帳號。對於需要在單一標籤頁中除錯日誌檔案、API 回應和 Discord 機器人的開發者來說,這些功能的組合在上述網站上均不可用。

自動識別秒、毫秒和微秒

Unix 時間戳記最常見的混淆來源是單位。秒時間戳記如 1700000000 有 10 位,代表 2023 年 11 月的某個日期。同一時刻的毫秒時間戳記為 1700000000000——13 位,是前者的一千倍。JavaScript 的 Date.now() 傳回毫秒;Unix shell 命令 date +%s 傳回秒。各種 API 和資料庫的單位差異很大。

16 和 17 位時間戳記代表微秒——用於高精度感測器資料、分散式追蹤和某些 NoSQL 資料庫。本轉換器透過位數識別單位,每次都能正確轉換。您也可以覆蓋偵測結果,強制指定特定單位。

Python、JavaScript 和 SQL 中的 Epoch 轉換

Python 中,使用 datetime.fromtimestamp(ts, tz=timezone.utc) 取得 UTC 時間,或省略 tz 以伺服器本地時區取得結果(在不同機器上會產生 bug)。當前秒時間戳記為 int(time.time());毫秒時間戳記為 int(time.time() * 1000)。在 JavaScript 中,new Date(ts * 1000) 將秒時間戳記轉換為 Date 物件;Date.now() 給出當前毫秒 epoch。

MySQL 中,UNIX_TIMESTAMP() 傳回當前秒 epoch,FROM_UNIXTIME(ts) 將其轉回日期時間。在 PostgreSQL 中,EXTRACT(EPOCH FROM timestamptz) 給出秒 epoch,TO_TIMESTAMP(ts) 反向轉換。本工具處理開發者容易踩坑的邊界情況:2038 年問題、1970 年之前的負時間戳記,以及三種精度單位。

隱私保護、支援離線、即時回應

所有轉換均在您的瀏覽器本地執行——沒有伺服器,不上傳任何資料,不發出任何網路請求。頁面載入完成後即使離線也能正常運作。收藏本頁,下次在日誌檔案、API 回應、資料庫記錄或 JWT 載荷中遇到可疑整數時,可快速查看其代表的日期和時間。

Frequently asked questions

什麼是 Unix 時間?

Unix 時間(也稱為 epoch 時間或 POSIX 時間)是自 1970 年 1 月 1 日 00:00:00 UTC(Unix 紀元)起經過的秒數。例如,時間戳記 1,700,000,000 對應 2023 年 11 月 14 日(星期六)22:13:20 UTC。它是一個與時區無關的整數,幾乎在所有程式語言、資料庫和 API 中都用於無歧義地表示時間點。

Unix 紀元是什麼?

Unix 紀元是 Unix 時間的參考點:1970 年 1 月 1 日 UTC 午夜。每個 Unix 時間戳記都從該時刻開始計數秒(或毫秒、微秒)。紀元之前的時間戳記為負數——Unix 時間戳記 −86,400 代表 1969 年 12 月 31 日 00:00:00 UTC。

秒時間戳記和毫秒時間戳記有什麼差別?

秒精度的 Unix 時間戳記通常有 10 位數字,例如 1700000000。毫秒時間戳記是秒時間戳記乘以 1,000,有 13 位:1700000000000。JavaScript 的 Date.now() 傳回毫秒;大多數伺服器端語言預設傳回秒。本轉換器透過位數自動偵測單位,也可手動強制指定。

如何產生 Discord 時間戳記標籤?

Discord 在訊息中使用 <t:UNIX_SECONDS:格式代碼> 語法渲染 Unix 時間戳記。七種格式代碼分別是:t(短時間)、T(長時間)、d(短日期)、D(長日期)、f(短日期/時間,預設)、F(帶星期的長日期/時間)和 R(相對時間,如「2 年前」)。本工具一次性產生全部七種格式並附帶預覽。

16 或 17 位時間戳記是什麼?

16 和 17 位時間戳記表示微秒(百萬分之一秒),常見於高頻交易系統、硬體感測器、Zipkin 和 Jaeger 等分散式追蹤工具,以及 Cassandra 等某些資料庫。本轉換器能正確識別並轉換微秒時間戳記。

如何在 Python 中轉換時間戳記?

使用 datetime 模組。將 Unix 時間戳記轉換為 UTC:from datetime import datetime, timezone; dt = datetime.fromtimestamp(1700000000, tz=timezone.utc)。取得當前秒時間戳記:import time; ts = int(time.time())。毫秒時間戳記:ts_ms = int(time.time() * 1000)。務必傳入 tz=timezone.utc 以避免因伺服器本地時區不同導致的 bug。

什麼是 2038 年問題?

2038 年 1 月 19 日 03:14:07 UTC,32 位元有號 Unix 時間戳記將溢位——達到 2³¹ − 1(2,147,483,647)後回繞為大負數,導致日期被錯誤顯示為 1901 年。使用 32 位元整數儲存時間戳記的系統面臨此風險。64 位元時間戳記則還需 2920 億年才會溢位,現代軟體大多已使用 64 位元整數。

Related tools

檢視所有工具