跳至正文

時間戳轉換器

將 Unix 時間戳轉換為日期,或將日期轉換為 Unix 時間戳的免費線上工具。

🕐 현재 시간

날짜/시간:2025-11-22 14:55:44
Unix Timestamp:1763823344

🔄 변환 모드

📝 Unix Timestamp 입력

✨ 변환 결과

Unix Timestamp:-
날짜/시간:-

Unix Timestamp는 1970년 1월 1일 00:00:00 UTC부터 경과한 초를 나타냅니다. 시스템 간 날짜/시간 데이터 교환 시 널리 사용됩니다.

什麼是 Unix 時間戳?

Unix 時間戳 (或 Epoch time) 是表示從 1970 年 1 月 1 日 00:00:00 UTC 經過的秒數的數字。這是電腦系統中表示日期和時間的標準方法。

主要功能

  • 雙向轉換: Timestamp → 日期、日期 → Timestamp
  • 即時目前時間: 每秒自動更新
  • 使用目前時間: 一鍵輸入目前時間
  • 即時複製: 將各個值複製到剪貼簿
  • 秒/毫秒自動偵測: 根據輸入值自動判斷

使用方法

Timestamp → 日期轉換

  1. 選擇「Timestamp → 日期」模式
  2. 輸入 Unix 時間戳 (例: 1640995200)
  3. 點擊「轉換」按鈕
  4. 顯示日期/時間

日期 → Timestamp 轉換

  1. 選擇「日期 → Timestamp」模式
  2. 選擇日期/時間
  3. 點擊「轉換」按鈕
  4. 顯示 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;

查詢特定時間點之後的資料!

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 開發、資料庫管理或日誌分析,這個工具都能讓您的工作更有效率。

隱私保護

此工具完全在用戶端運行。您輸入的資料不會傳送到伺服器,僅在瀏覽器中處理。

相關工具