ReSuMeYaDev

เครื่องมือนักพัฒนา

Timestamp Converter — Unix Epoch ↔ วันที่

แปลง Unix Timestamp เป็นวันที่ และกลับด้าน รองรับทั้งวินาทีและมิลลิวินาที แสดง UTC, เวลาท้องถิ่น, ISO 8601, และ พ.ศ. ในหน้าเดียว

  • ใช้งานฟรี
  • Unix Timestamp
  • UTC/Local/ISO
  • รองรับมือถือ

คำจำกัดความ

Unix Timestamp คืออะไร?

Unix Timestamp (หรือ Epoch Time) คือจำนวนวินาทีนับจากวันที่ 1 มกราคม 1970 00:00:00 UTC เป็นรูปแบบมาตรฐานที่ใช้เก็บเวลาในระบบคอมพิวเตอร์

Timestamp เป็นตัวเลขจำนวนเต็ม ทำให้เปรียบเทียบและคำนวณเวลาได้ง่าย ไม่ต้องกังวลเรื่อง timezone หรือรูปแบบวันที่

รูปแบบ

รูปแบบที่รองรับ

  • Unix Timestamp (วินาที) — เช่น 1700000000
  • Unix Timestamp (มิลลิวินาที) — เช่น 1700000000000
  • ISO 8601 — เช่น 2023-11-14T22:13:20.000Z
  • วันที่ไทย (พ.ศ.) — เช่น 15 พฤศจิกายน 2566
  • เวลาท้องถิ่น และ UTC

เคล็ดลับ

เคล็ดลับ

  • JavaScript ใช้ timestamp หน่วยมิลลิวินาที (Date.now())
  • PHP, Python, Unix ใช้หน่วยวินาที (time())
  • ระวัง Y2K38 problem — 32-bit timestamp จะล้นในปี 2038
  • ใช้ 64-bit timestamp เพื่อหลีกเลี่ยงปัญหา Y2K38

กรณีใช้งาน

กรณีใช้งานจริง

  • แปลง timestamp จาก server log เป็นวันที่อ่านได้เพื่อ debug ปัญหาที่เกิดขึ้นตามเวลา
  • ตรวจสอบ JWT token ว่า exp (expiration) timestamp ยังไม่หมดอายุก่อนส่ง request
  • แปลงวันที่จาก API response ที่ส่งมาเป็น Unix timestamp ให้อ่านเป็น พ.ศ. สำหรับแสดงผลภาษาไทย
  • คำนวณระยะเวลาระหว่าง timestamp สองค่าเพื่อหา duration ของ process หรือ event
  • สร้าง timestamp สำหรับ scheduled task หรือ cron job ที่ต้องกำหนดเวลาเป็น Unix epoch

หลีกเลี่ยง

ข้อผิดพลาดที่พบบ่อย

  • สับสนระหว่างหน่วยวินาทีกับมิลลิวินาที ทำให้แปลงวันที่ผิดไปหลายสิบปี ต้องตรวจสอบจำนวนหลักก่อน
  • ไม่คำนึงถึง timezone เมื่อเปรียบเทียบ timestamp ทำให้เวลาคลาดเคลื่อน 7 ชั่วโมงสำหรับเวลาไทย (UTC+7)
  • ใช้ new Date() กับ string format ที่ไม่ใช่ ISO 8601 ทำให้ผลลัพธ์ต่างกันในแต่ละเบราว์เซอร์
  • เก็บ timestamp เป็น 32-bit integer โดยไม่คิดถึง Y2K38 ซึ่งจะทำให้ระบบพังในปี 2038

เปรียบเทียบ

เปรียบเทียบกับเครื่องมืออื่น

Timestamp Converter ของเราแสดงผลทั้ง UTC, เวลาท้องถิ่น, ISO 8601 และ พ.ศ. พร้อมกัน ต่างจากเครื่องมืออื่นที่แสดงแค่ format เดียว ทำให้เห็นภาพรวมครบในหน้าเดียว

เมื่อเทียบกับการใช้ console ของเบราว์เซอร์พิมพ์ new Date(timestamp) เครื่องมือนี้แสดง relative time และรองรับทั้งวินาทีและมิลลิวินาที ไม่ต้องคิดเองว่าต้องคูณหรือหารด้วย 1000

FAQ

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

01 Epoch time คืออะไร?

Epoch time หรือ Unix time เป็นจำนวนวินาทีนับจาก 1 มกราคม 1970 00:00:00 UTC เรียกว่า Unix epoch ใช้เป็นจุดอ้างอิงเวลาสากล

02 ทำไม timestamp เริ่มจากปี 1970?

เพราะ Unix operating system ถูกพัฒนาในช่วงปลายทศวรรษ 1960 และเลือก 1 มกราคม 1970 เป็นจุดเริ่มต้น (epoch) สำหรับระบบเวลา

03 Y2K38 problem คืออะไร?

ระบบ 32-bit เก็บ timestamp ได้สูงสุด 2,147,483,647 (19 มกราคม 2038) หลังจากนั้นจะล้น (overflow) ทำให้เวลาผิดพลาด แก้โดยใช้ 64-bit

04 JavaScript Date.now() กับ Unix timestamp ต่างกันอย่างไร?

Date.now() ของ JavaScript ให้ค่าเป็นมิลลิวินาที ส่วน Unix timestamp ทั่วไปเป็นวินาที ต้องหารด้วย 1000 เพื่อแปลง

05 ข้อมูลถูกส่งไปเซิร์ฟเวอร์ไหม?

ไม่ ทุกอย่างประมวลผลในเบราว์เซอร์ของคุณ ไม่มีข้อมูลถูกส่งออกไป

06 Timestamp ติดลบได้ไหม?

ได้ timestamp ติดลบหมายถึงวันที่ก่อน 1 มกราคม 1970 เช่น -86400 คือ 31 ธันวาคม 1969 ใช้ได้กับ 64-bit system แต่ 32-bit อาจไม่รองรับ

07 ทำไมบาง API ส่ง timestamp เป็นมิลลิวินาที?

JavaScript Date object ใช้มิลลิวินาที (Date.now()) เป็นค่า default ทำให้ API ที่สร้างด้วย Node.js มักส่งหน่วยมิลลิวินาที ดูจำนวนหลักได้ — 10 หลักคือวินาที 13 หลักคือมิลลิวินาที

08 ISO 8601 กับ RFC 3339 ต่างกันอย่างไร?

RFC 3339 เป็น subset ของ ISO 8601 ที่เข้มงวดกว่า กำหนดให้ต้องมี timezone offset เสมอ และใช้ T คั่นวันที่กับเวลา ใน practice ส่วนใหญ่ใช้แทนกันได้

อ้างอิง

  1. MDN Web Docs — Date.now()
  2. Wikipedia — Unix time
  3. ISO 8601 — Date and time format

เครื่องมือนี้ใช้เวลาจากเครื่องของคุณ ความแม่นยำขึ้นอยู่กับการตั้งค่า timezone และ system clock ของอุปกรณ์

นักพัฒนา

เครื่องมือคำนวณฟรีอื่น ๆ ที่คุณอาจสนใจ

ดูทั้งหมดในหมวดนี้

ต้องการเครื่องมือคำนวณสำหรับธุรกิจของคุณ?

ReSuMeYaDev รับพัฒนาเว็บไซต์ เครื่องมือคำนวณ และระบบภายในตามความต้องการ — Laravel, Vue, Nuxt, Go, Rust