Unix時間戳轉換器
介紹
Unix 時間戳(或稱紀元時間)是電腦表示時間的標準方式:一個從 1970 年 1 月 1 日 UTC 午夜開始計算秒數的單一整數(不含閏秒)。它出現在資料庫記錄、API 回應、JWT 權杖、日誌檔案、Cron 排程和快取過期標頭中。機器可以即時讀取這些整數,但人類需要將它們轉換為日曆日期和時鐘時間——而且通常需要同時轉換為多種格式。
Unix 時間戳轉換器為開發人員、系統管理員和安全分析師而設計,他們需要從日誌中解碼時間戳、驗證權杖到期時間、跨時區排程 Cron 工作,或快速查詢歷史或未來的紀元值。此工具分為兩個獨立區塊:
- 區塊 A(Unix 時間戳 → 日期與時間):輸入數值時間戳,即可看到以 21 種日期和時間格式呈現的結果,按標準家族分類。
- 區塊 B(日期與時間 → Unix 時間戳):選擇日曆日期、時間和時區偏移量,即可獲得等效的時間戳(以秒、毫秒和微秒表示)。
兩個區塊都有自己的時區選擇器,因此您可以在一個方向使用 UTC,在另一個方向使用自訂偏移量,而不會互相干擾。
運作原理
Unix 時間從紀元(1970 年 1 月 1 日 00:00:00 UTC)開始計算秒數。每一次計數正好增加一秒。由於它以 UTC 為錨點,Unix 時間戳在全球任何地方都代表同一個瞬間——只有在將其呈現為人類可讀字串時,時區才有意義。
此工具使用瀏覽器原生的 JavaScript Date 物件進行所有轉換。每個 Date 在內部將時間儲存為單一數字:自 Unix 紀元以來的毫秒數。當您輸入時間戳時,工具會建立一個 Date 並根據啟用的時區選擇器讀取其 UTC 或本地屬性。當您輸入日曆日期和時間時,工具會計算與紀元的差異,並根據指定的時區偏移量進行調整。
各生態系統中的時間戳單位
不同平台和語言使用不同的紀元單位。工具的單位選擇器讓您比對來源的精確度:
| 單位 | 使用方 | 範例 |
|---|---|---|
| 秒 | Go、PHP、Python、PostgreSQL、Ruby、cron | 10 位數 |
| 毫秒 | JavaScript(Date.now())、Ethereum、.NET DateTimeOffset、Java System.currentTimeMillis() |
13 位數 |
| 微秒 | Linux /proc/uptime、Go time.UnixMicro()、高解析度效能分析 |
16 位數 |
此工具會將您的輸入內部轉換為秒。如果您貼上來自 JavaScript 的 Date.now() 的 13 位數值,請將單位設為毫秒,工具會處理換算。
時區與夏令時間
Unix 時間戳始終代表相同的物理瞬間。每個區塊中的時區選擇器只會改變該瞬間的顯示或解讀方式。
- UTC 模式:以世界協調時間呈現所有輸出。RFC 3339 格式使用字面
Z後綴代替+00:00。 - 本地模式:使用您瀏覽器的系統時區,包括自動的夏令時間調整。
- 自訂模式:-12:00 到 +14:00 之間的數值 UTC 偏移量。工具會直接套用此偏移量,不進行任何夏令時間修正——它會將您的偏移量視為固定的時鐘時間。
當夏令時間生效時,本地時區偏移量會改變。在本地模式下顯示的相同時間戳可能會顯示與上個月不同的小時。這是正常現象:時間戳本身相同,但當地時鐘慣例改變了。
對於在地化格式的行(Locale、Locale Date、Locale Time),工具會同時尊重所選的時區和瀏覽器的語言設定。如果您選擇 UTC 模式,toLocaleString 會收到 { timeZone: 'UTC' },確保在地化格式使用正確的時區。
使用方法
區塊 A — 時間戳轉日期與時間
- 在輸入欄位中輸入 Unix 時間戳(僅數字,1970 年前可選負號)。
- 選擇輸入精確度:秒、毫秒或微秒。
- 選擇時區:UTC、本地(您的系統時區)或自訂(以半小時為間隔輸入 -12 到 +14 之間的偏移量)。
- 檢視結果——21 行日期和時間格式會即時更新。
區塊 B — 日期與時間轉時間戳
- 直接輸入年份。使用下拉選單選擇月份、日期、小時、分鐘和秒。
- 從 UTC/GMT 選擇器中選擇時區:本地符合您的系統時區;像
UTC+8這樣的數值條目會將輸入視為該區域的時鐘時間。 - 時間戳結果會立即以秒、毫秒、微秒、十六進位和相對時間顯示。
兩個區塊獨立運作。變更區塊 A 不會影響區塊 B,反之亦然。這讓您可以並排比較時間戳,或在探索不同格式時鎖定參考值。
教學
情境 1:從伺服器日誌解碼時間戳
您的應用程式日誌顯示時間戳 1742345678——一次失敗的 API 呼叫。您需要確切知道它發生的時間,並檢查 HTTP 日期格式以與 HTTP 回應標頭進行關聯。
- 開啟 Unix 時間戳轉換器。
- 在區塊 A 的輸入欄位中輸入
1742345678。 - 結果顯示 21 行格式,包括:
- @ 格式:
3/19/2025 @ 2:14:38 PM +0000(快速瀏覽的人類可讀格式) - RFC 1123Z:
Wed, 19 Mar 2025 14:14:38 +0000(HTTP 日期標準,對應Date和Last-Modified標頭) - Relative:
124d(請求發生多久之前)
- @ 格式:
- 將時區切換為本地,查看在您自己的時區中是什麼時間。
情境 2:在特定時間排程 Cron 工作
您需要在 2026 年 6 月 15 日美國東部時間凌晨 3:30 執行一個 Cron 工作。美國東部夏令時間在 6 月是 UTC-4。
- 在區塊 B 中,將日期設為 2026 年 6 月 15 日,時間設為 03:30:00。
- 將 UTC/GMT 選擇器設為 `UTC+4(EDT 是 UTC-4,因此輸入 -4)。
- 讀取秒值——這就是您的 Cron 時間戳。Hex 和 Relative 行也會更新,同時為您提供機器可讀和人類可讀的參考資訊。
專業提示
格式使用場景
每種輸出格式都有特定的用途。以下說明何時使用每種格式:
| 格式 | 使用時機 |
|---|---|
| @ 格式 | 快速視覺掃描——簡潔的 M/D/YYYY @ HH:MM:SS AM/PM 佈局一眼可讀 |
| DateTime | SQL 資料庫插入(YYYY-MM-DD HH:MM:SS),JSON 以外最常見的字串形式 |
| ISO 8601 | JSON 承載(new Date().toISOString())、REST API 請求和回應主體 |
| RFC 3339 | RSS 訂閱、Atom 訂閱、日曆訂閱(iCalendar);用於需要更嚴格規範的 ISO 8601 場景 |
| RFC 1123Z | HTTP 標頭(Date、Last-Modified、Expires)、Cookie(expires 屬性) |
| RFC 822 | 電子郵件標頭(Date 欄位)、舊式新聞群組格式 |
| RFC 850 | 較舊的 HTTP/1.0 實作(現已少見,為向後相容保留) |
| ANSIC | Go 的 time.ANSIC 常數——用於讀取 Go time.Time 的預設輸出 |
| RubyDate | Ruby 的 Time#ctime 格式;與傳統 Unix ctime 輸出相符 |
| DateOnly / TimeOnly | Go 1.20+ 便利常數——僅提取日期或僅提取時間 |
| Kitchen | Go 的 12 小時制格式——快速讀取時鐘時間 |
| Locale | 使用者介面顯示;尊重瀏覽器的語言和文化慣例 |
| Hex | 低階除錯、韌體時間戳、嵌入式系統 |
| Relative | 儀表板顯示、「距上次事件時間」UI 元素 |
各語言實作
在您選擇的語言中取得目前的 Unix 時間戳:
// Go
time.Now().Unix() // 秒
time.Now().UnixMilli() // 毫秒(Go 1.17+)
// JavaScript
Math.floor(Date.now() / 1000) // 秒
Date.now() // 毫秒
// PHP
time(); // 秒
intval(microtime(true) * 1000); // 毫秒
# Python
import time; int(time.time()) # 秒
import time; int(time.time() * 1000) # 毫秒
通用提示
- 1970 年之前的時間戳:輸入負數值。1960 年 12 月 1 日 00:00:00 UTC 為
-286329600。 - 十六進位輸入:十六進位值(含或不含
0x前綴)會自動解析——輸入0x6618E1FE即可查看十進位等效值。 - 比較時區:將區塊 A 的時區設為 UTC,並將區塊 B 的時區設為本地,即可查看同一個時間點在兩者中的顯示差異。
替代方案
| 工具 | 時間戳轉日期 | 日期轉時間戳 | 21+ 格式 | 獨立時區(每區塊) | 用戶端處理 |
|---|---|---|---|---|---|
| Toollect Unix 時間戳轉換器 | 是 | 是 | 是(21 種) | 是 | 是 |
| unixtimestamp.com | 是 | 是 | 約 5 種 | 否 | 是 |
| epochconverter.com | 是 | 是 | 約 8 種 | 否 | 是 |
| site24x7.com | 是 | 是 | 約 6 種 | 完整 IANA | 是 |
date -d @timestamp(Linux) |
是 | 否 | 約 3 種 | 僅系統時區 | 不適用 |
故障排除
| 問題 | 可能原因 | 解決方案 |
|---|---|---|
| 輸出顯示 1970 或 1969 年的日期 | 輸入的單位錯誤 | 變更單位選擇器以符合您的輸入(秒 / 毫秒 / 微秒) |
| 日期和時間顯示錯誤的時刻 | 時區選擇器設定不正確 | 切換到 UTC 驗證基準時間,然後調整到正確的偏移量 |
| 在地化行顯示錯誤時間 | 在地化格式忽略區塊 A 的時區選擇 | 此問題已修正——在地化現在會尊重所選時區。請確認您使用的是最新版本 |
| 輸出未更新 | 輸入包含非數值字元 | 清除欄位,僅輸入數字和可選的開頭負號 |
| 相對時間對已知的過去時間戳顯示「剛剛」 | 相對時間是根據當前系統時鐘計算 | 這是正常現象——相對時間總是將時間戳與「現在」進行比較 |
| 13 位數輸入顯示遙遠的未來日期 | 輸入值為毫秒,但單位預設為秒 | 將單位切換為「毫秒」 |
技術規格
- 轉換引擎:JavaScript
Date物件(ECMAScript 標準) - 時間戳範圍:完整的 JavaScript 數值範圍(±9 千兆秒,涵蓋數十億年)
- 支援的輸入:十進位整數、負數值(1970 年之前)
- 輸入精確度:秒、毫秒或微秒(可設定)
- 時區支援:UTC、本地(瀏覽器系統)、自訂 GMT 偏移量(-12 到 +14,以 0.5 小時為間隔);每個區塊獨立設定
21 種格式家族
| # | 群組 | 格式 | 範例 |
|---|---|---|---|
| 1 | 常用 | @ 格式 | 3/19/2025 @ 2:14:38 PM +0000 |
| 2 | 常用 | DateTime | 2025-03-19 14:14:38 |
| 3 | 常用 | ISO 8601 | 2025-03-19T14:14:38+00:00 |
| 4 | 常用 | RFC 3339 | 2025-03-19T14:14:38Z(UTC 使用 Z) |
| 5 | RFC | RFC 1123Z | Wed, 19 Mar 2025 14:14:38 +0000 |
| 6 | RFC | RFC 822 | 19 Mar 25 14:14 UTC |
| 7 | RFC | RFC 822Z | 19 Mar 25 14:14 +0000 |
| 8 | RFC | RFC 1123 | Wed, 19 Mar 2025 14:14:38 UTC |
| 9 | RFC | RFC 850 | Wednesday, 19-Mar-25 14:14:38 UTC |
| 10 | Go | ANSIC | Wed Mar 19 14:14:38 2025 |
| 11 | Go | UnixDate | Wed Mar 19 14:14:38 UTC 2025 |
| 12 | Go | RubyDate | Wed Mar 19 14:14:38 +0000 2025 |
| 13 | Go | DateOnly | 2025-03-19 |
| 14 | Go | TimeOnly | 14:14:38 |
| 15 | Go | Kitchen | 2:14PM |
| 16 | Go | Stamp | Mar 19 14:14:38 |
| 17 | 在地化 | Locale | 3/19/2025, 2:14:38 PM(依瀏覽器而定) |
| 18 | 在地化 | Locale Date | 3/19/2025 |
| 19 | 在地化 | Locale Time | 2:14:38 PM |
| 20 | 其他 | Hex | 0x6618E1FE |
| 21 | 其他 | Relative | 124d |
格式族譜
此工具中的日期和時間格式源自四個譜系:
- RFC 822(1982 年)定義了原始的電子郵件日期格式,使用 2 位數年份。RFC 1123(1989 年)以 4 位數年份取代了它。RFC 1123Z 是相同的格式,但使用數值時區偏移量(
+0000)代替字母縮寫(UTC)。這些共同涵蓋了 HTTP 標頭(1123Z)和電子郵件格式(822)。 - ISO 8601(1988 年)建立了日期和時間表示的國際標準。RFC 3339(2002 年)為網際網路使用設定了 ISO 8601 的規範配置,添加了 UTC 必須使用
Z等要求。大多數現代 API 會選擇這兩者之一。 - Go 時間常數(
ANSIC、UnixDate、RubyDate等)是 Go 標準庫內建的便利佈局。它們反映了 POSIX 慣例(ctime輸出)、RFC 標準和 Go 專屬的便利形式(DateOnly、Kitchen、Stamp)。 - 在地化格式使用瀏覽器的
Intl.DateTimeFormatAPI,該 API 遵循 Unicode 通用在地化資料儲存庫(CLDR)。確切的輸出取決於使用者的瀏覽器語言設定。
相容性
- 瀏覽器:Chrome 90+、Firefox 90+、Safari 15+、Edge 90+
- 依賴項目:無——純 JavaScript,零第三方函式庫
- 資料處理:100% 用戶端處理——零網路請求
功能特色
- Unix時間戳與可讀日期的雙向轉換
- 即時顯示當前Unix時間戳並自動更新
- 多種輸出格式:UTC、本地時間、ISO 8601、十六進位和相對時間
- 自訂時區偏移支援,實現日期到時間戳的精確轉換
- 客戶端處理 — 不會向任何伺服器發送資料