ToolDeck

แปลง Timestamp

แปลง Unix timestamp เป็นวันที่อ่านได้และกลับกัน

Unix Timestamp ปัจจุบัน

1774458480

Wed, 25 Mar 2026 17:08:00 GMT

หรือ

Unix Timestamp คืออะไร?

Unix timestamp (หรือที่เรียกว่า epoch time หรือ POSIX time) คือจำนวนวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 เวลา 00:00:00 UTC วันที่นี้เรียกว่า Unix epoch ทุกวินาทีที่ผ่านไปจะเพิ่มค่าตัวนับขึ้นหนึ่ง ทำให้ทุกช่วงเวลามีค่าตัวเลขจำนวนเต็มเพียงค่าเดียว เครื่องมือแปลง Unix timestamp จะแปลงระหว่างค่าจำนวนเต็มนี้กับรูปแบบวันที่ที่อ่านได้ เช่น ISO 8601, RFC 2822 หรือสตริงตามโลเคลต่างๆ

Unix timestamp คือมาตรฐานการแสดงเวลาในระบบคอมพิวเตอร์ ฐานข้อมูลจัดเก็บคอลัมน์ created_at และ updated_at เป็นจำนวนเต็มหรือ timestamp มิลลิวินาที การตอบสนองของ API ประกอบด้วย timestamp สำหรับ cache headers (Expires, Last-Modified), JWT claims (iat, exp, nbf) และบันทึกเหตุการณ์ ไฟล์บันทึกจาก nginx, syslog และเฟรมเวิร์กแอปพลิเคชันล้วนใช้ epoch time รูปแบบนี้ไม่คลุมเครือเพราะแสดงเวลาแบบ UTC เสมอ โดยไม่มีเขตเวลาหรือการปรับเวลาตามฤดูกาลที่อาจตีความผิด

การแปลงระหว่าง timestamp กับวันที่ด้วยมือนั้นเกิดข้อผิดพลาดได้ง่าย ค่าอย่าง 1711324800 ไม่บ่งบอกวันที่ที่แสดงแต่อย่างใด เครื่องมือนี้แปลง Unix timestamp เป็นวันที่ที่อ่านได้ และแปลงวันที่กลับเป็น timestamp ไม่ว่าจะอ่าน JWT exp claim ดีบักคิวรีฐานข้อมูล หรือตรวจสอบ timestamp ในไฟล์บันทึก เครื่องมือนี้จัดการค่า 10 หลัก (วินาที) และ 13 หลัก (มิลลิวินาที) โดยอัตโนมัติ

ทำไมต้องใช้เครื่องมือแปลง Timestamp นี้?

การอ่าน Unix timestamp ดิบจากไฟล์บันทึก ฐานข้อมูล หรือการตอบสนองของ API ต้องใช้ความจำเรื่องการคำนวณ epoch หรือเขียนโค้ดชั่วคราว เครื่องมือนี้ทำงานในเบราว์เซอร์โดยไม่ต้องตั้งค่าใดๆ ไม่ว่าจะต้องถอดรหัสวันหมดอายุ JWT ตรวจสอบบรรทัดในไฟล์บันทึก หรือกำหนดค่า TTL ในฐานข้อมูล ผลลัพธ์อยู่ห่างเพียงคลิกเดียว เครื่องมือตรวจจับโดยอัตโนมัติว่าค่าเป็น timestamp วินาที 10 หลัก หรือ timestamp มิลลิวินาที 13 หลัก จึงไม่จำเป็นต้องหารด้วย 1000 ด้วยตนเอง การประมวลผลทั้งหมดทำงานในเครื่องในเบราว์เซอร์ของคุณ ข้อมูลไม่ออกจากเครื่องของคุณ ดังนั้น timestamp จากระบบภายในและไฟล์บันทึกที่มีข้อมูลละเอียดอ่อนจึงยังคงเป็นส่วนตัว

แปลงได้ทันที
พิมพ์ timestamp หรือเลือกวันที่แล้วดูผลลัพธ์ทันที ไม่ต้องส่งฟอร์ม ไม่ต้องโหลดหน้าใหม่ รองรับทั้งวินาทีและมิลลิวินาที
🔒
ประมวลผลโดยให้ความเป็นส่วนตัวก่อน
การแปลงทั้งหมดทำงานในเบราว์เซอร์โดยใช้ออบเจกต์ Date ที่มีอยู่ใน JavaScript ข้อมูลไม่ออกจากเครื่องของคุณ ดังนั้น timestamp จากระบบภายในจึงยังคงเป็นส่วนตัว
🔄
แปลงได้สองทิศทาง
แปลง Unix timestamp เป็นวันที่ และแปลงวันที่กลับเป็น timestamp ป้อนค่าในทิศทางใดก็ได้และรับผลลัพธ์ที่สอดคล้องกันโดยไม่ต้องสลับเครื่องมือ
🌐
หลายรูปแบบผลลัพธ์
ดู timestamp ของคุณเป็น UTC เวลาท้องถิ่น ISO 8601 และเวลาสัมพัทธ์พร้อมกัน คัดลอกรูปแบบใดก็ได้ด้วยคลิกเดียว

กรณีการใช้งานเครื่องมือแปลง Timestamp

การพัฒนา Frontend
ถอดรหัส timestamp จากการตอบสนองของ REST API เพื่อตรวจสอบว่าการแสดงผลวันที่ถูกต้องในทุกเขตเวลา ตรวจสอบว่า API คืนค่าวินาทีหรือมิลลิวินาที
วิศวกรรม Backend
แปลง timestamp ของฐานข้อมูลเมื่อดีบักคิวรี ตรวจสอบว่าค่า created_at, updated_at และ expires_at ตรงกับวันที่ที่คาดหวังหลังการย้ายข้อมูลหรือการเปลี่ยนแปลงเขตเวลา
DevOps และ SRE
แปลงค่า epoch จากไฟล์บันทึก แดชบอร์ดการตรวจสอบ (Grafana, Datadog) และระบบแจ้งเตือนเพื่อระบุว่าเหตุการณ์เริ่มต้นหรือการดีพลอยเสร็จสิ้นเมื่อใด
QA และการทดสอบ
สร้าง timestamp เฉพาะสำหรับชุดข้อมูลทดสอบ ตรวจสอบว่าฟีเจอร์ที่ขึ้นอยู่กับเวลา เช่น การหมดอายุของโทเค็น TTL ของ cache และงานตามกำหนดการ ทำงานในเวลาที่ถูกต้อง
วิศวกรรมข้อมูล
แปลงคอลัมน์ timestamp เมื่อตรวจสอบการส่งออกข้อมูลดิบจาก PostgreSQL, MySQL หรือ data warehouse ยืนยันว่า ETL pipeline รักษาข้อมูลเขตเวลาได้อย่างถูกต้อง
การเรียนรู้และการศึกษา
ทำความเข้าใจว่าคอมพิวเตอร์แสดงเวลาภายในอย่างไร ทดลองกับกรณีขอบเขต เช่น ปัญหา Y2038 timestamp ติดลบสำหรับวันที่ก่อน 1970 และความแม่นยำในระดับมิลลิวินาที

ตารางอ้างอิง Unix Timestamp

ตารางด้านล่างแสดง Unix timestamp ที่รู้จักกันดีและวันที่ที่สอดคล้องกัน ค่าเหล่านี้มีประโยชน์สำหรับการตรวจสอบความถูกต้อง การทดสอบ และการทำความเข้าใจช่วงของ timestamp 32 บิตและ 64 บิต

Timestampวันที่ (UTC)หมายเหตุ
0Jan 1, 1970 00:00:00 UTCUnix epoch start
86400Jan 2, 1970 00:00:00 UTCExactly 1 day
946684800Jan 1, 2000 00:00:00 UTCY2K
1000000000Sep 9, 2001 01:46:40 UTC10-digit milestone
1234567890Feb 13, 2009 23:31:30 UTCAscending digits
1700000000Nov 14, 2023 22:13:20 UTCRecent 10-digit
2000000000May 18, 2033 03:33:20 UTCNext 10-digit milestone
2147483647Jan 19, 2038 03:14:07 UTCY2038 (signed 32-bit max)
4102444800Jan 1, 2100 00:00:00 UTCNext century

การเปรียบเทียบรูปแบบวันที่และเวลา

ระบบและมาตรฐานต่างๆ แสดงช่วงเวลาเดียวกันโดยใช้รูปแบบสตริงที่แตกต่างกัน ตารางเปรียบเทียบรูปแบบที่พบบ่อยที่สุดที่คุณจะพบใน API ไฟล์บันทึก และฐานข้อมูล

รูปแบบตัวอย่างหมายเหตุ
Unix (seconds)1711324800Integer, no timezone info
Unix (milliseconds)1711324800000Used by JavaScript Date.now()
ISO 86012024-03-25T00:00:00ZMachine-readable, includes timezone
RFC 2822Mon, 25 Mar 2024 00:00:00 +0000Email and HTTP headers
UTC stringMon, 25 Mar 2024 00:00:00 GMTDate.prototype.toUTCString()
Human readableMarch 25, 2024, 12:00:00 AMLocale-dependent, display only

ตัวอย่างโค้ด

แปลงระหว่าง Unix timestamp กับวันที่ในภาษาที่คุณใช้งาน แต่ละตัวอย่างแสดงทั้งสองทิศทาง: timestamp เป็นวันที่ และวันที่เป็น timestamp

JavaScript (browser / Node.js)
// Current Unix timestamp in seconds
Math.floor(Date.now() / 1000)  // → 1711324800

// Unix timestamp to Date object
const date = new Date(1711324800 * 1000)
date.toISOString()             // → "2024-03-25T00:00:00.000Z"
date.toUTCString()             // → "Mon, 25 Mar 2024 00:00:00 GMT"

// Date string to Unix timestamp
Math.floor(new Date('2024-03-25T00:00:00Z').getTime() / 1000)
// → 1711324800

// Millisecond timestamps (common in JS APIs)
Date.now()                     // → 1711324800000 (ms)
Date.parse('2024-03-25')       // → 1711324800000 (ms)
Python
import time
from datetime import datetime, timezone

# Current Unix timestamp
int(time.time())                                    # → 1711324800

# Unix timestamp to datetime
dt = datetime.fromtimestamp(1711324800, tz=timezone.utc)
dt.isoformat()                                      # → '2024-03-25T00:00:00+00:00'
dt.strftime('%Y-%m-%d %H:%M:%S %Z')                 # → '2024-03-25 00:00:00 UTC'

# Datetime string to Unix timestamp
dt = datetime.fromisoformat('2024-03-25T00:00:00+00:00')
int(dt.timestamp())                                  # → 1711324800

# Parse RFC 2822 dates (from email headers)
from email.utils import parsedate_to_datetime
parsedate_to_datetime('Mon, 25 Mar 2024 00:00:00 +0000').timestamp()
# → 1711324800.0
Go
package main

import (
    "fmt"
    "time"
)

func main() {
    // Current Unix timestamp
    now := time.Now().Unix() // → 1711324800

    // Unix timestamp to time.Time
    t := time.Unix(1711324800, 0).UTC()
    fmt.Println(t.Format(time.RFC3339))
    // → 2024-03-25T00:00:00Z

    // Parse a date string to Unix timestamp
    parsed, _ := time.Parse(time.RFC3339, "2024-03-25T00:00:00Z")
    fmt.Println(parsed.Unix())
    // → 1711324800

    // Millisecond timestamp
    ms := time.Now().UnixMilli() // → 1711324800000
    fmt.Println(now, ms)
}
CLI (date / bash)
# Current Unix timestamp
date +%s                                    # → 1711324800

# Convert timestamp to human-readable date (GNU date)
date -d @1711324800                         # → Mon Mar 25 00:00:00 UTC 2024

# Convert timestamp to ISO 8601
date -d @1711324800 --iso-8601=seconds      # → 2024-03-25T00:00:00+00:00

# macOS (BSD date) — slightly different flags
date -r 1711324800                          # → Mon Mar 25 00:00:00 UTC 2024

# Date string to timestamp (GNU date)
date -d "2024-03-25 00:00:00 UTC" +%s       # → 1711324800

คำถามที่พบบ่อย

ความแตกต่างระหว่าง Unix timestamp ในหน่วยวินาทีกับมิลลิวินาทีคืออะไร?
Unix timestamp ในหน่วยวินาทีเป็นจำนวนเต็ม 10 หลัก (จนถึงเดือนพฤศจิกายน 2286) ในขณะที่ timestamp มิลลิวินาทีมี 13 หลัก JavaScript's Date.now() คืนค่ามิลลิวินาที เครื่องมือบรรทัดคำสั่ง Unix ส่วนใหญ่และ Python's time.time() คืนค่าวินาที ในการแปลงระหว่างกัน ให้คูณวินาทีด้วย 1000 หรือหารมิลลิวินาทีด้วย 1000 แล้วปัดลง
ปัญหา Year 2038 คืออะไร?
ระบบที่จัดเก็บ Unix timestamp เป็นจำนวนเต็ม 32 บิตที่มีเครื่องหมายจะเกิด overflow ในวันที่ 19 มกราคม 2038 เวลา 03:14:07 UTC ค่าสูงสุดที่จำนวนเต็ม 32 บิตที่มีเครื่องหมายสามารถเก็บได้คือ 2,147,483,647 วินาทีหลัง epoch หลังจากนั้นค่าจะวนกลับเป็นจำนวนลบ ซึ่งระบบจะตีความว่าเป็นวันที่ในเดือนธันวาคม 1901 ระบบ 64 บิตสมัยใหม่ใช้จำนวนเต็ม 64 บิตและไม่ได้รับผลกระทบ
จะแปลง Unix timestamp เป็นวันที่ใน JavaScript ได้อย่างไร?
สร้างออบเจกต์ Date ใหม่โดยส่ง timestamp คูณด้วย 1000 (เนื่องจาก JavaScript ใช้มิลลิวินาที): new Date(1711324800 * 1000) จากนั้นเรียก .toISOString(), .toUTCString() หรือ .toLocaleString() เพื่อรับรูปแบบที่ต้องการ สำหรับทิศทางย้อนกลับ ใช้ Math.floor(new Date('2024-03-25').getTime() / 1000)
Unix timestamp สามารถแสดงวันที่ก่อนปี 1970 ได้หรือไม่?
ได้ วันที่ก่อน Unix epoch (1 มกราคม 1970) แสดงเป็นจำนวนเต็มติดลบ ตัวอย่างเช่น 31 ธันวาคม 1969 เวลา 23:59:59 UTC คือ timestamp -1 ภาษาโปรแกรมสมัยใหม่ส่วนใหญ่จัดการ timestamp ติดลบได้อย่างถูกต้อง แม้ว่าระบบและฐานข้อมูลรุ่นเก่าบางตัวอาจไม่รองรับ
ทำไม API จึงใช้ Unix timestamp แทนสตริงวันที่?
Unix timestamp ไม่ขึ้นกับเขตเวลา กระชับ (จำนวนเต็มตัวเดียวเทียบกับสตริงยาว 25+ ตัวอักษร) และเปรียบเทียบได้ง่าย การเรียงลำดับ การเปรียบเทียบ และการคำนวณระยะเวลาด้วยจำนวนเต็มนั้นเร็วกว่าการแปลงสตริงวันที่ นอกจากนี้ยังหลีกเลี่ยงความคลุมเครือจากรูปแบบที่ขึ้นกับโลเคล เช่น MM/DD/YYYY เทียบกับ DD/MM/YYYY
จะดู Unix timestamp ปัจจุบันจาก command line ได้อย่างไร?
บน Linux และ macOS ให้รัน date +%s เพื่อพิมพ์ timestamp ปัจจุบันในหน่วยวินาที บน Windows ด้วย PowerShell ใช้ [DateTimeOffset]::UtcNow.ToUnixTimeSeconds() ทั้งสองคืนค่าจำนวนเต็มจำนวนวินาทีนับตั้งแต่ Unix epoch สำหรับความแม่นยำระดับมิลลิวินาทีบน Linux ใช้ date +%s%3N เพื่อเพิ่มส่วนมิลลิวินาทีโดยตรง
ความแตกต่างระหว่าง UTC กับ GMT ใน timestamp คืออะไร?
ในทางปฏิบัติสำหรับการคำนวณ UTC และ GMT อ้างถึงเวลาเดียวกัน UTC (Coordinated Universal Time) คือมาตรฐานสมัยใหม่ที่กำหนดโดยนาฬิกาอะตอม ในขณะที่ GMT (Greenwich Mean Time) คือมาตรฐานดาราศาสตร์รุ่นเก่า Unix timestamp อ้างอิง UTC เสมอ คุณอาจเห็นทั้งสองป้ายกำกับในสตริงวันที่ที่จัดรูปแบบ แต่ค่าพื้นฐานเหมือนกัน