แปลง 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
ตารางอ้างอิง Unix Timestamp
ตารางด้านล่างแสดง Unix timestamp ที่รู้จักกันดีและวันที่ที่สอดคล้องกัน ค่าเหล่านี้มีประโยชน์สำหรับการตรวจสอบความถูกต้อง การทดสอบ และการทำความเข้าใจช่วงของ timestamp 32 บิตและ 64 บิต
| Timestamp | วันที่ (UTC) | หมายเหตุ |
|---|---|---|
| 0 | Jan 1, 1970 00:00:00 UTC | Unix epoch start |
| 86400 | Jan 2, 1970 00:00:00 UTC | Exactly 1 day |
| 946684800 | Jan 1, 2000 00:00:00 UTC | Y2K |
| 1000000000 | Sep 9, 2001 01:46:40 UTC | 10-digit milestone |
| 1234567890 | Feb 13, 2009 23:31:30 UTC | Ascending digits |
| 1700000000 | Nov 14, 2023 22:13:20 UTC | Recent 10-digit |
| 2000000000 | May 18, 2033 03:33:20 UTC | Next 10-digit milestone |
| 2147483647 | Jan 19, 2038 03:14:07 UTC | Y2038 (signed 32-bit max) |
| 4102444800 | Jan 1, 2100 00:00:00 UTC | Next century |
การเปรียบเทียบรูปแบบวันที่และเวลา
ระบบและมาตรฐานต่างๆ แสดงช่วงเวลาเดียวกันโดยใช้รูปแบบสตริงที่แตกต่างกัน ตารางเปรียบเทียบรูปแบบที่พบบ่อยที่สุดที่คุณจะพบใน API ไฟล์บันทึก และฐานข้อมูล
| รูปแบบ | ตัวอย่าง | หมายเหตุ |
|---|---|---|
| Unix (seconds) | 1711324800 | Integer, no timezone info |
| Unix (milliseconds) | 1711324800000 | Used by JavaScript Date.now() |
| ISO 8601 | 2024-03-25T00:00:00Z | Machine-readable, includes timezone |
| RFC 2822 | Mon, 25 Mar 2024 00:00:00 +0000 | Email and HTTP headers |
| UTC string | Mon, 25 Mar 2024 00:00:00 GMT | Date.prototype.toUTCString() |
| Human readable | March 25, 2024, 12:00:00 AM | Locale-dependent, display only |
ตัวอย่างโค้ด
แปลงระหว่าง Unix timestamp กับวันที่ในภาษาที่คุณใช้งาน แต่ละตัวอย่างแสดงทั้งสองทิศทาง: timestamp เป็นวันที่ และวันที่เป็น timestamp
// 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)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.0package 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)
}# 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