Unix 時間戳轉換
程式碼範例
// 取得目前時間戳
new Date(時間戳轉日期).toLocaleString()import time
time.time() # 取得目前時間戳
time.ctime(1800000000) # 時間戳轉日期import "time"
time.Now().Unix() // 取得目前時間戳
time.Unix(1800000000, 0).String()# 取得目前時間戳
date +%s
# 時間戳轉日期
date -d @1800000000Unix 時間戳是自 1970 年 1 月 1 日 00:00:00 UTC 以來經過的秒數(不計閏秒)。大多數 Unix 系統將時間戳儲存為 32 位元有符號整數,在 2038 年 1 月 19 日會發生溢位(2038 年問題)。
免費線上 Unix 時間戳轉換工具,支援秒/毫秒/微秒雙向互轉,自動辨識時間戳單位,UTC 與本地時區一鍵切換,內建多語言程式碼範例,打開即用適合開發除錯與日誌排查。
相關推薦
什麼是 Unix 時間戳?
Unix 時間戳(Unix Timestamp),也叫 Epoch Time、POSIX Time,是一種用數字表示時間的方式:從協調世界時(UTC)1970年1月1日 00:00:00 起到某一時刻所經過的總秒數(不計算閏秒)。起點 1970-01-01 00:00:00 UTC 被稱為「Unix 紀元」(Unix Epoch),此時的時間戳為0。
時間戳的最大優點是與時區無關——同一時刻在全球任何地方產生的時間戳都是同一個數字,不存在時區轉換問題。因此它被廣泛應用於:資料庫記錄的建立/更新時間、分散式系統的日誌追蹤(Trace/Span 時間)、API 介面的時間參數、JWT Token 的過期時間、快取的過期時間(TTL)、檔案系統的修改時間等。
不同程式語言和系統對時間戳精度處理不同:C/Unix/Python 預設使用秒級(10位),JavaScript/Java 使用毫秒級(13位),部分高精度系統(如金融交易、科學計算)使用微秒級(16位)甚至奈秒級(19位)。本工具覆蓋最常用的秒、毫秒、微秒三種精度。
適用場景
- 開發除錯時將日誌中的時間戳轉換為可讀日期時間,快速定位問題發生時刻
- 介面接軌時對照請求/回應中的時間戳欄位,確認時間是否正確傳遞
- 資料庫查詢時將業務時間轉換為時間戳,用於 SQL 時間範圍條件
- 伺服器維運時對比 UTC 時間戳與本地時間,排查跨時區部署的時間相關問題
- 編寫指令碼時快速複製各語言取得時間戳的程式碼片段,無需查閱文件
- 將歷史日期(1970年前)或未來日期轉為時間戳,用於測試邊界場景
使用方法
- 頁面頂部顯示即時跳動的目前 Unix 時間戳,可直接點擊複製
- 要將時間戳轉為日期:在「時間戳→日期」標籤頁輸入時間戳,工具自動辨識單位(秒/毫秒/微秒)
- 選擇 UTC 或本地時區,轉換結果即時顯示,可點擊複製按鈕複製日期字串
- 要將日期轉為時間戳:切換到「日期→時間戳」標籤頁,在年/月/日/時/分/秒輸入框填入目標時間
- 選擇時區後秒級時間戳即時顯示,一鍵複製用於程式碼或查詢
功能特點
- 自動辨識單位:輸入時間戳自動判斷是秒/毫秒/微秒,無需手動選擇,貼上即用
- 三級精度支援:秒(10位)、毫秒(13位)、微秒(16位)全覆蓋,滿足不同系統和語言需求
- UTC/本地時區切換:伺服器日誌用 UTC,業務時間用本地,一鍵切換對照排查
- 逐欄位日期輸入:年/月/日/時/分/秒獨立輸入框,支援日期轉時間戳,無需記憶日期格式
- 即時時間戳顯示:頁面頂部即時跳動目前秒級時間戳及 UTC 日期,一鍵複製
- 多語言程式碼片段:內建 JavaScript/Python/Go/Bash 取得和轉換時間戳程式碼,一鍵複製
- 支援負數時間戳:可轉換1920年至2100年範圍內的任意日期,涵蓋歷史和未來時間
- 純前端計算:所有轉換在瀏覽器本地完成,時間戳不上傳伺服器,安全可靠
程式碼範例
JavaScript 取得和轉換時間戳
javascript瀏覽器和 Node.js 中取得目前秒級/毫秒級時間戳,以及將時間戳轉換為本地可讀時間的常用方法。
// 取得目前秒級時間戳
const tsSec = Math.floor(Date.now() / 1000);
console.log(tsSec); // 例如 1700000000
// 取得目前毫秒級時間戳
const tsMs = Date.now();
console.log(tsMs); // 例如 1700000000000
// 秒級時間戳轉本地可讀時間
const date = new Date(tsSec * 1000);
console.log(date.toLocaleString('zh-TW'));
// "2023/11/15 上午6:13:20"
// 毫秒級時間戳轉 ISO 格式
console.log(new Date(tsMs).toISOString());
// "2023-11-14T22:13:20.000Z"Python 時間戳處理
python使用 Python 標準函式庫 time 和 datetime 模組取得和轉換時間戳,處理時區轉換。
import time
from datetime import datetime, timezone
# 取得目前秒級時間戳
ts = int(time.time())
print(ts) # 1700000000
# 時間戳轉本地時間字串
print(time.ctime(ts))
# 'Wed Nov 15 06:13:20 2023'
# 時間戳轉格式化時間
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(ts)))
# '2023-11-15 06:13:20'
# 時間戳轉 UTC 時間
print(datetime.fromtimestamp(ts, tz=timezone.utc))
# 2023-11-14 22:13:20+00:00Linux/macOS 指令列操作時間戳
bash在 Shell 中取得目前時間戳和轉換時間戳的常用指令,注意 Linux 和 macOS 的 date 指令參數有差異。
# 取得目前秒級時間戳(Linux/macOS 通用) date +%s # 時間戳轉日期(Linux GNU date) date -d @1700000000 # "Wed Nov 15 06:13:20 CST 2023" # 時間戳轉日期(macOS BSD date) date -r 1700000000 # 時間戳轉 UTC 日期(Linux) date -u -d @1700000000 # "Tue Nov 14 22:13:20 UTC 2023" # 指定格式輸出 date -d @1700000000 '+%Y-%m-%d %H:%M:%S'
常見問題
什麼是 Unix 時間戳?
Unix 時間戳(Unix Timestamp,又稱 Epoch Time、POSIX Time)是從協調世界時(UTC)1970年1月1日00:00:00起至某一時刻的總秒數(不考慮閏秒)。例如 1700000000 對應 2023-11-14 22:13:20 UTC。它不受時區影響,在全球任何地方產生的同一時刻的時間戳都是相同的,因此被廣泛用於跨系統時間記錄、日誌追蹤、介面傳參與資料庫儲存。
秒級、毫秒級、微秒級時間戳怎麼區分?
按位數區分:10位數字是秒級(精度到秒,如1700000000),13位數字是毫秒級(精度到千分之一秒,如1700000000000),16位數字是微秒級(精度到百萬分之一秒,如1700000000000000)。本工具會自動辨識你輸入的時間戳位數,無需手動選擇單位——輸入後即可自動判斷並轉換。如果你貼上的時間戳前後有空格,工具也會自動修剪後正確辨識。
為什麼日誌裡的時間戳和本地時間差了8小時?
這是因為 Unix 時間戳本身是 UTC 時區的,而台灣使用 UTC+8 時區。如果直接按本地時區解析 UTC 時間戳,就會產生時差。本工具提供 UTC 和本地時區兩種切換選項:排查伺服器日誌(通常用 UTC)時選 UTC,看本地業務時間時選本地時區,一鍵切換對照。
JavaScript 中如何取得和轉換時間戳?
取得目前秒級時間戳用 `Math.floor(Date.now() / 1000)`,毫秒級用 `Date.now()`;將時間戳轉可讀時間用 `new Date(ts * 1000).toLocaleString()`(秒級需乘1000,毫秒級直接傳入)。工具頁面底部內建了 JavaScript、Python、Go、Bash 等常用語言的程式碼片段,可直接複製使用。
時間戳可以是負數嗎?代表什麼?
可以。負數時間戳表示1970年1月1日之前的時間,例如 -1 對應 1969-12-31 23:59:59 UTC。本工具支援輸入負數時間戳,轉換範圍涵蓋1920年到2100年,滿足歷史日期和未來日期的轉換需求。
2038年問題是什麼?會影響使用嗎?
2038年問題(Year 2038 Problem)指使用32位元有號整數儲存秒級時間戳的系統,在2038年1月19日03:14:07 UTC後會溢位導致時間變為負數,引發系統錯誤。現代系統已普遍使用64位元整數(可表示到2920億年後),JavaScript 使用64位元浮點數儲存時間戳(精確到毫秒可安全表示到285616年),本工具在瀏覽器中執行,不受2038年問題影響。
為什麼線上轉換比命令列更方便?
命令列(如 Linux 的 date 指令)需要記住參數格式,跨平台參數不一致(macOS 的 date 和 Linux 的 date 參數差異很大)。本工具打開即用,自動辨識單位,提供視覺化日期輸入框(年/月/日/時/分/秒逐欄位輸入,無需記憶日期格式),支援時區一鍵切換,還內建多語言程式碼範例,在瀏覽器中即可完成轉換,無需切換終端機。
術語表
- Unix 時間戳
- 從 UTC 1970年1月1日00:00:00起經過的秒數,10位數字,與時區無關,全球統一。
- Epoch Time
- Unix 時間戳的別名,指從 Unix 紀元(1970-01-01 UTC)起算的時間。
- 秒級時間戳
- 精度到秒的時間戳,10位數字(如1700000000),是 Unix/Python/C 等語言的預設精度。
- 毫秒級時間戳
- 精度到千分之一秒的時間戳,13位數字(如1700000000000),JavaScript/Java 的預設精度。
- 微秒級時間戳
- 精度到百萬分之一秒的時間戳,16位數字(如1700000000000000),用於高精度系統。
- UTC
- 協調世界時(Coordinated Universal Time),全球時間標準,是時區計算的基準,與格林威治標準時間(GMT)基本一致。
- 時區偏移
- 本地時間與 UTC 的差值,如台灣標準時間是 UTC+8(比 UTC 快8小時),美國東部是 UTC-5(標準時間)。
- ISO 8601
- 國際標準化組織的日期時間表示格式,如2024-01-15T08:30:00+08:00,是 API 傳參的標準格式。
- 2038年問題
- 32位元有號整數儲存秒級時間戳在2038年1月19日溢位的問題,64位元系統和 JavaScript 不受影響。
常用時間單位換算表
| 時間單位 | 秒數 | 舉例說明 |
|---|---|---|
| 1分鐘 | 60 | 短時間快取、介面逾時 |
| 1小時 | 3,600 | Token 短期有效期、會話逾時 |
| 1天 | 86,400 | 每日統計、日報資料 |
| 1週 | 604,800 | 週報週期、Cookie 有效期 |
| 1個月(30.44天) | 2,629,743 | 月度統計、訂閱計費週期 |
| 1年(365.24天) | 31,556,926 | 年度資料、JWT 長期 Token |
各程式語言時間戳取得與轉換
| 語言 | 取得目前時間戳(秒) | 時間戳轉可讀時間 |
|---|---|---|
| JavaScript | Math.floor(Date.now()/1000) | new Date(ts*1000).toLocaleString() |
| Python | import time; int(time.time()) | import time; time.ctime(ts) |
| Java | System.currentTimeMillis()/1000 | new Date(ts*1000L).toString() |
| Go | time.Now().Unix() | time.Unix(ts, 0).String() |
| PHP | time() | date('Y-m-d H:i:s', ts) |
| MySQL | SELECT UNIX_TIMESTAMP() | SELECT FROM_UNIXTIME(ts) |
| Bash (Linux) | date +%s | date -d @ts |
| Bash (macOS) | date +%s | date -r ts |
Authoritative References
- WikipediaUnix 時間 - 維基百科
- IETFRFC 3339 - 日期和時間格式
- ISOISO 8601 日期時間標準
- 色盲模擬器
- 色彩轉換器
- .htaccess 轉 Nginx 轉換器
- SQL 轉換器
- Cookie 解析器
- Cron 表達式產生器
- Cron 表達式驗證器
- CSS 格式化
- CSS 壓縮
- CSV 轉 Excel
- 貨幣轉換器
- 差異檢查器
- 網站圖示產生器
- XML 格式化
- 十六進位轉換器
- HTML 格式化
- HTML 壓縮
- HTML 轉 Markdown
- Markdown 轉 HTML
- JavaScript 格式化工具
- JS 壓縮
- JSX 格式化工具
- JSX 壓縮
- 關鍵字聚類
- Lorem Ipsum 產生器
- Markdown 表格產生器
- Meta Tag 產生器
- 密碼產生器
- 密碼強度檢測工具
- QR Code/條碼產生器
- 正規表達式測試器
- Slug 產生器
- SQL 產生器
- SQL 格式化工具
- 字數統計
- 時間工具
- TS 格式化
- TS 壓縮
- TSX 格式化
- TSX 壓縮
- Unix 時間戳轉換
- UUID 產生器
- YAML 格式化
- 大小寫轉換器