Unix時間戳轉換器

日期與時間 轉換器
Unix 時間戳
時區
日期時間格式
@ 格式
日期時間
ISO 8601
RFC 3339
RFC 1123Z
RFC 822
RFC 822Z
RFC 1123
RFC 850
ANSIC
UnixDate
RubyDate
僅日期
僅時間
廚房格式
時間戳記
地區格式
地區日期
地區時間
十六進位
相對時間
日期
- -
時間
: :
UTC/GMT
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 — 時間戳轉日期與時間

  1. 在輸入欄位中輸入 Unix 時間戳(僅數字,1970 年前可選負號)。
  2. 選擇輸入精確度:毫秒微秒
  3. 選擇時區:UTC本地(您的系統時區)或自訂(以半小時為間隔輸入 -12 到 +14 之間的偏移量)。
  4. 檢視結果——21 行日期和時間格式會即時更新。

區塊 B — 日期與時間轉時間戳

  1. 直接輸入年份。使用下拉選單選擇月份、日期、小時、分鐘和秒。
  2. 從 UTC/GMT 選擇器中選擇時區:本地符合您的系統時區;像 UTC+8 這樣的數值條目會將輸入視為該區域的時鐘時間。
  3. 時間戳結果會立即以秒、毫秒、微秒、十六進位和相對時間顯示。

兩個區塊獨立運作。變更區塊 A 不會影響區塊 B,反之亦然。這讓您可以並排比較時間戳,或在探索不同格式時鎖定參考值。

教學

情境 1:從伺服器日誌解碼時間戳

您的應用程式日誌顯示時間戳 1742345678——一次失敗的 API 呼叫。您需要確切知道它發生的時間,並檢查 HTTP 日期格式以與 HTTP 回應標頭進行關聯。

  1. 開啟 Unix 時間戳轉換器。
  2. 在區塊 A 的輸入欄位中輸入 1742345678
  3. 結果顯示 21 行格式,包括:
    • @ 格式3/19/2025 @ 2:14:38 PM +0000(快速瀏覽的人類可讀格式)
    • RFC 1123ZWed, 19 Mar 2025 14:14:38 +0000(HTTP 日期標準,對應 DateLast-Modified 標頭)
    • Relative124d(請求發生多久之前)
  4. 將時區切換為本地,查看在您自己的時區中是什麼時間。

情境 2:在特定時間排程 Cron 工作

您需要在 2026 年 6 月 15 日美國東部時間凌晨 3:30 執行一個 Cron 工作。美國東部夏令時間在 6 月是 UTC-4。

  1. 在區塊 B 中,將日期設為 2026 年 6 月 15 日,時間設為 03:30:00。
  2. 將 UTC/GMT 選擇器設為 `UTC+4(EDT 是 UTC-4,因此輸入 -4)。
  3. 讀取值——這就是您的 Cron 時間戳。HexRelative 行也會更新,同時為您提供機器可讀和人類可讀的參考資訊。

專業提示

格式使用場景

每種輸出格式都有特定的用途。以下說明何時使用每種格式:

格式 使用時機
@ 格式 快速視覺掃描——簡潔的 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 標頭(DateLast-ModifiedExpires)、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 時間常數ANSICUnixDateRubyDate 等)是 Go 標準庫內建的便利佈局。它們反映了 POSIX 慣例(ctime 輸出)、RFC 標準和 Go 專屬的便利形式(DateOnlyKitchenStamp)。
  • 在地化格式使用瀏覽器的 Intl.DateTimeFormat API,該 API 遵循 Unicode 通用在地化資料儲存庫(CLDR)。確切的輸出取決於使用者的瀏覽器語言設定。

相容性

  • 瀏覽器:Chrome 90+、Firefox 90+、Safari 15+、Edge 90+
  • 依賴項目:無——純 JavaScript,零第三方函式庫
  • 資料處理:100% 用戶端處理——零網路請求

功能特色

  • Unix時間戳與可讀日期的雙向轉換
  • 即時顯示當前Unix時間戳並自動更新
  • 多種輸出格式:UTC、本地時間、ISO 8601、十六進位和相對時間
  • 自訂時區偏移支援,實現日期到時間戳的精確轉換
  • 客戶端處理 — 不會向任何伺服器發送資料

常見問題

什麼是Unix時間戳?
Unix時間戳(也稱為紀元時間)是自1970年1月1日00:00:00 UTC以來經過的秒數。它是計算機以單一整數表示時間的通用方式,獨立於時區和日曆格式。
如何判斷我的時間戳是以秒還是毫秒為單位?
以秒為單位的Unix時間戳有10位數字(例如1712345678),而以毫秒為單位的時間戳有13位數字(例如1712345678000)。我們的工具將所有輸入視為秒。輸出表同時顯示毫秒等效值作為參考。
這個工具能處理1970年之前的日期嗎?
可以。1970年1月1日之前的日期用負Unix時間戳表示。例如,1969年12月31日23:59:00 UTC是-60秒。輸入負值,工具將正確轉換。
我的資料會發送到伺服器嗎?
不會。所有轉換完全在您的瀏覽器中完成。沒有資料通過網路傳輸,因此此工具可安全處理來自私有日誌或機密系統的時間戳。
什麼是2038年問題?
在2038年1月19日03:14:07 UTC,32位元有號整數Unix時間戳將溢位——最大值2,147,483,647將迴繞為-2,147,483,648,代表1901年12月13日。大多數現代系統使用64位元整數,可避免此問題數十億年。
ISO 8601 和 RFC 3339 有什麼差別?
RFC 3339 是 ISO 8601 的一個設定檔。它們共享相同的基本格式(YYYY-MM-DDTHH:MM:SS±HH:MM),但 RFC 3339 要求時區指示符(UTC 使用 Z,否則使用 ±HH:MM),並強制要求三位數的年份範圍。實際上,大多數現代 API 都可以互換接受這兩種格式。
ESC