ตัวแปลง Unix timestamp
เวลา Unix นับวินาทีนับจาก 1970-01-01 00:00:00 UTC (มิลลิวินาทีใน JavaScript Date.now()) ล็อก, JWT exp และฟิลด์ API มักใช้ตัวเลข epoch — แปลงเป็นวันที่เวลาท้องถิ่นหรือ UTC ที่อ่านได้เพื่อดีบักเหตุการณ์
วิธีแปลง timestamp
1. วางตัวเลข epoch หรือเลือกวันที่เวลาจากตัวเลือก
2. สลับวินาทีกับมิลลิวินาทีหากค่าดูผิด (10 กับ 13 หลัก)
3. อ่านผล UTC และเขตเวลาท้องถิ่น
4. คัดลอกค่าที่แปลงแล้วสำหรับคิวรี SQL หรือตัวกรองล็อก
ตัวอย่าง timestamp
claim exp ของ JWT
1735689600 ถอดเป็นวันหมดอายุในอนาคต — เทียบกับตอนนี้
JavaScript Date.now()
1704067200000 มิลลิวินาทีเท่ากับ 2024-01-01 UTC — ค่า 13 หลักเป็นมิลลิวินาที
พาร์สบรรทัดล็อก
แปลง nginx $msec หรือฟิลด์ epoch เพื่อสัมพันธ์กับเวลาที่อ่านได้ใน Splunk
เมื่อไหร่ควรแปลง epoch
• เมื่อดีบักการตอบ API ที่มีวันที่เป็นตัวเลข
• เมื่อเขียนคิวรีฐานข้อมูลด้วย UNIX_TIMESTAMP()
• เมื่อผู้เริ่มเรียนรู้การแสดง UTC กับท้องถิ่น
ยืนยันหน่วยเสมอ
สลับวินาทีที่คาดมิลลิวินาทีเลื่อนวันที่ 1000 เท่า — บั๊กที่พบบ่อยใน SDK แอนะลิติกส์มือถือ
คำถามที่พบบ่อย
วินาทีหรือมิลลิวินาที?
ราว 10 หลัก ≈ วินาที 13 หลัก ≈ มิลลิวินาทีจนถึงปี 2286
UTC กับท้องถิ่น?
epoch เป็นจังหวะ UTC — การแสดงอาจแสดงออฟเซ็ตเขตเวลาท้องถิ่น
timestamp ติดลบ?
วันที่ก่อน 1970 เป็นไปได้ในบางระบบ — หายากใน API เว็บ
ปัญหา Y2K38?
จำนวนเต็มมีเครื่องหมาย 32 บิตล้นในปี 2038 — ใช้ long 64 บิตในระบบ
ในเครื่อง?
ใช่