เครื่องมือภาษาไทย / แปลง 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) เกิดตอนแสดงผลเท่านั้น
วิธีใช้งาน
- วาง timestamp (วินาทีหรือมิลลิวินาทีก็ได้) หรือวางวันที่รูปแบบ ISO
- อ่านผลแปลงทันที
- ปุ่ม 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 ยังเสี่ยง