時間戳轉換器
將 Unix 時間戳轉換為日期,或將日期轉換為 Unix 時間戳的免費線上工具。
什麼是 Unix 時間戳?
Unix 時間戳 (或 Epoch time) 是表示從 1970 年 1 月 1 日 00:00:00 UTC 經過的秒數的數字。這是電腦系統中表示日期和時間的標準方法。
主要功能
- 雙向轉換: Timestamp → 日期、日期 → Timestamp
- 即時目前時間: 每秒自動更新
- 使用目前時間: 一鍵輸入目前時間
- 即時複製: 將各個值複製到剪貼簿
- 秒/毫秒自動偵測: 根據輸入值自動判斷
使用方法
Timestamp → 日期轉換
- 選擇「Timestamp → 日期」模式
- 輸入 Unix 時間戳 (例: 1640995200)
- 點擊「轉換」按鈕
- 顯示日期/時間
日期 → Timestamp 轉換
- 選擇「日期 → Timestamp」模式
- 選擇日期/時間
- 點擊「轉換」按鈕
- 顯示 Unix 時間戳
使用目前時間
- 點擊「使用目前時間」按鈕會自動輸入目前時間
Unix 時間戳格式
秒 (Seconds) - 標準
1640995200
- 10 位數字
- 最常見的格式
- 2001 年 9 月 9 日之後是 10 位數
毫秒 (Milliseconds)
1640995200000
- 13 位數字
- JavaScript 主要使用
- 更精確的時間表示
此工具會自動偵測並轉換!
時間戳範例
主要日期
Unix Epoch (起點)
Timestamp: 0
Date: 1970-01-01 00:00:00
Y2K (2000年)
Timestamp: 946684800
Date: 2000-01-01 00:00:00
2020年開始
Timestamp: 1577836800
Date: 2020-01-01 00:00:00
2025年開始
Timestamp: 1735689600
Date: 2025-01-01 00:00:00
2038年問題 (32-bit 最大值)
Timestamp: 2147483647
Date: 2038-01-19 03:14:07
使用案例
1. API 回應除錯
{
"created_at": 1640995200,
"updated_at": 1640995260
}
將時間戳轉換為易讀的日期!
2. 日誌分析
[1640995200] User login successful
[1640995260] User logout
確認日誌的時間戳為實際日期!
3. 資料庫查詢
SELECT * FROM orders
WHERE created_at > 1640995200;
查詢特定時間點之後的資料!
4. Cookie 到期時間
const expiryTimestamp = Math.floor(Date.now() / 1000) + (7 * 24 * 60 * 60);
// 7 天後到期
5. 快取有效性驗證
const cacheExpiry = 1640995200;
const now = Math.floor(Date.now() / 1000);
if (now > cacheExpiry) {
// 快取已到期
}
各程式語言使用方法
JavaScript
// 目前時間戳 (毫秒)
const timestampMs = Date.now();
// 目前時間戳 (秒)
const timestamp = Math.floor(Date.now() / 1000);
// 時間戳 → 日期
const date = new Date(1640995200 * 1000);
// 日期 → 時間戳
const ts = Math.floor(new Date('2022-01-01').getTime() / 1000);
Python
import time
from datetime import datetime
# 目前時間戳
timestamp = int(time.time())
# 時間戳 → 日期
date = datetime.fromtimestamp(1640995200)
print(date) # 2022-01-01 00:00:00
# 日期 → 時間戳
dt = datetime(2022, 1, 1)
timestamp = int(dt.timestamp())
PHP
<?php
// 目前時間戳
$timestamp = time();
// 時間戳 → 日期
$date = date('Y-m-d H:i:s', 1640995200);
// 日期 → 時間戳
$timestamp = strtotime('2022-01-01');
?>
Java
import java.time.*;
// 目前時間戳
long timestamp = Instant.now().getEpochSecond();
// 時間戳 → 日期
Instant instant = Instant.ofEpochSecond(1640995200L);
LocalDateTime date = LocalDateTime.ofInstant(instant, ZoneId.of("UTC"));
// 日期 → 時間戳
LocalDateTime dt = LocalDateTime.of(2022, 1, 1, 0, 0);
long ts = dt.atZone(ZoneId.of("UTC")).toEpochSecond();
SQL
-- MySQL: 時間戳 → 日期
SELECT FROM_UNIXTIME(1640995200);
-- MySQL: 日期 → 時間戳
SELECT UNIX_TIMESTAMP('2022-01-01 00:00:00');
-- PostgreSQL: 時間戳 → 日期
SELECT to_timestamp(1640995200);
-- PostgreSQL: 日期 → 時間戳
SELECT extract(epoch from timestamp '2022-01-01 00:00:00');
時區注意事項
Unix 時間戳始終以 UTC 為基準!
台灣時間 (CST = UTC+8)
UTC: 2022-01-01 00:00:00 (Timestamp: 1640995200)
CST: 2022-01-01 08:00:00
轉換時注意
// 錯誤範例 - 使用本地時區
const wrong = new Date('2022-01-01'); // 本地時區
// 正確範例 - 明確指定 UTC
const correct = new Date('2022-01-01T00:00:00Z'); // Z = UTC
2038年問題
32 位元系統中 Unix 時間戳的最大值:
2147483647 = 2038-01-19 03:14:07 UTC
之後的時間無法表示 (溢位)。
解決方案
- 使用 64 位元系統: 可表示到 2920 億年
- 大多數現代系統: 已經使用 64 位元
實用技巧
1. 計算時間差
const start = 1640995200;
const end = 1641000000;
const diffSeconds = end - start; // 4800秒
const diffMinutes = diffSeconds / 60; // 80分鐘
const diffHours = diffMinutes / 60; // 1.33小時
2. 計算未來/過去時 間
const now = Math.floor(Date.now() / 1000);
// 1小時後
const oneHourLater = now + (60 * 60);
// 7天前
const sevenDaysAgo = now - (7 * 24 * 60 * 60);
3. 日期比較
const timestamp1 = 1640995200;
const timestamp2 = 1641000000;
if (timestamp1 < timestamp2) {
console.log('timestamp1 是較��的時間');
}
4. 檢查到期時間
const expiryTimestamp = 1640995200;
const now = Math.floor(Date.now() / 1000);
if (now > expiryTimestamp) {
console.log('已到期');
} else {
const remainingSeconds = expiryTimestamp - now;
console.log(`剩餘 ${remainingSeconds} 秒`);
}
常見問題
Q: Unix 時間戳為什麼從 1970 年 1 月 1 日開始?
1970 年是 Unix 作業系統首次開發的時期。將此日期定為「Epoch」(紀元)。
Q: 也有負時間戳嗎?
有!負數表示 1970 年之前。
-86400 = 1969-12-31 00:00:00
Q: 應該使用秒還是毫秒?
- 秒 (10位數): 大多數後端系統、Unix/Linux
- 毫秒 (13位數): JavaScript、需要更精確的時間時
Q: 可以從時間戳知道時區嗎?
不行。Unix 時間戳始終以 UTC 為基準。不包含時區資訊。
Q: 時間戳和 ISO 8601 哪個好?
- 時間戳: 是數字因此易於計算,儲存空間少
- ISO 8601: 人類易讀 (例: 2022-01-01T00:00:00Z)
根據情況選擇!
💬 這個工具對您有幫助嗎?
如果您覺得這個時間戳轉換器實用,歡迎分享給需要的朋友!無論是 API 開發、資料庫管理或日誌分析,這個工具都能讓您的工作更有效率。
隱私保護
此工具完全在用戶端運行。您輸入的資料不會傳送到伺服器,僅在瀏覽器中處理。