เครื่องมือภาษาไทย / แปลง Unix Timestamp เป็นวันที่ (Timestamp Converter)English version →

แปลง Unix Timestamp เป็นวันที่ (Timestamp Converter)

Unix timestamp คือจำนวนวินาทีนับจาก 1 มกราคม 1970 UTC — ตัวเลขเดียวที่ระบุ 'ช่วงเวลา' ได้ตรงกันทั่วโลก ฐานข้อมูล, log และ JWT ล้วนเก็บเวลารูปแบบนี้ เครื่องมือนี้แปลงเป็นวันที่อ่านได้ (ทั้งเวลาท้องถิ่นและ UTC) และแปลงย้อนกลับ

บั๊กยอดฮิตคือสับสนหน่วย: 10 หลักคือวินาที 13 หลักคือมิลลิวินาที — ใส่ผิดที่จะได้ปี 1970 หรือปี 58000 เครื่องมือนี้ตรวจหน่วยจากจำนวนหลักให้อัตโนมัติ และจำไว้เสมอว่า timestamp ไม่มี timezone ในตัว เวลาไทย (UTC+7) เกิดตอนแสดงผลเท่านั้น

วิธีใช้งาน

  1. วาง timestamp (วินาทีหรือมิลลิวินาทีก็ได้) หรือวางวันที่รูปแบบ ISO
  2. อ่านผลแปลงทันที
  3. ปุ่ม Now ช่วยดึงเวลาปัจจุบันมาให้

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

ทำไมเวลาที่แปลงได้ต่างจากที่คาด 7 ชั่วโมง
คือ offset ของเวลาไทย (UTC+7) — timestamp ระบุช่วงเวลาสากล ส่วน 'กี่โมง' ขึ้นกับ timezone ที่ใช้แสดงผล ระบบที่เก็บเป็น string โดยไม่ระบุ offset คือต้นเหตุคลาสสิกของบั๊กประเภทนี้
เก็บเวลาในระบบยังไงดี
เก็บเป็น timestamp หรือ ISO 8601 พร้อม offset (เช่น 2026-07-08T14:30:00+07:00) เสมอ แล้วแปลงเป็นเวลาท้องถิ่นเฉพาะตอนแสดงผล — กฎข้อเดียวนี้กันบั๊กเวลาได้เกือบทั้งหมด
ปี 2038 มีปัญหาอะไร
ระบบที่เก็บวินาทีเป็น 32-bit จะล้นวันที่ 19 ม.ค. 2038 — ระบบ 64-bit สมัยใหม่ไม่กระทบ แต่อุปกรณ์ embedded และคอลัมน์ TIMESTAMP เก่าของ MySQL ยังเสี่ยง