เครื่องแปลงเวลาแบบยูนิกซ์ (Unix Timestamp Converter)

ยุคของยูนิกซ์เริ่มต้นขึ้นเมื่อเวลา 00:00:00 UTC ของวันที่ 1 มกราคม ค.ศ. 1970 และแต่ละวินาทีนับจากเวลานั้นถือเป็นค่าหนึ่ง โปรแกรมแปลงนี้จะอ่านเวลาในรูปแบบวินาทีหรือมิลลิวินาที แปลงเป็นวันที่ในรูปแบบ UTC ที่สามารถอ่านได้ และแสดงให้ทราบว่าเหตุการณ์นั้นเกิดขึ้นเมื่อไหร่ (หรืออยู่ไกลแค่ไหนในอนาคต) ส่วนในทางกลับกัน จะนำข้อมูลวันที่ใดๆ ที่ PHP สามารถประมวลผลได้ เช่น ตามมาตรฐาน ISO 8601 หรือ RFC 2822 หรือคำสำคัญภาษาอังกฤษอย่าง next Monday มาคำนวณเพื่อกลับค่าช่วงเวลา (epoch value) ออกมา

วิธีแปลงเวลาบันทึกของระบบยูนิกซ์

  1. 1

    วางเวลาที่บันทึกไว้

    รองรับค่าในหน่วยวินาที (จำนวน 10 หลักสำหรับวันที่ปัจจุบัน) หรือมิลลิวินาที (จำนวน 13 หลัก); เครื่องมือนี้จะตรวจจับโดยอัตโนมัติว่าใช้หน่วยใด

  2. 2

    อ่านวันที่ในรูปแบบ UTC

    คุณจะได้สตริงเวลาแบบมาตรฐานในรูปแบบ Y-m-d H:i:s UTC พร้อมกับข้อความอ้างอิงเชิงเวลา เช่น "เมื่อ 2 ชั่วโมงก่อน"

  3. 3

    หรือจะเลือกทางตรงกันข้ามก็ได้

    กรอกวันที่ เช่น `2025-01-15 14:30:00` หรือ `2025-01-15T14:30:00Z` หรือคำสำคัญภาษาอังกฤษอย่าง `next Monday`, `now -1 week` เพื่อรับเวลาบันทึกที่ตรงกัน

  4. 4

    คัดลอกและใช้

    นำเวลาที่บันทึกไว้ไปวางไว้ในคำสั่งค้นหาในไฟล์บันทึก คำขอผ่าน API หรือในเงื่อนไขของฐานข้อมูล

ช่วงเวลา (ในหน่วยมิลลิวินาที) และปี ค.ศ. 2038

เวลาบันทึกแบบ Unix เป็นมาตรฐานร่วมที่ใช้กันอย่างแพร่หลายในบันทึกเซิร์ฟเวอร์ แอปพลิเคชันผ่าน API และฐานข้อมูล การรู้ค่าสำคัญบางประการในรูปแบบนี้จะช่วยให้คุณตรวจสอบความถูกต้องของข้อมูลที่ได้รับอย่างมีประสิทธิภาพ

ค่าอ้างอิง

เวลา ความหมาย
0 1 มกราคม 1970 เวลา 00:00:00 UTC, ยุคสมัย
1000000000 2001-09-09 01:46:40 UTC, งานเฉลิมฉลอง “วินาทีพันล้าน”
1600000000 2020-09-13 12:26:40 UTC
1700000000 2023-11-14 22:13:20 UTC
2147483647 2038-01-19 03:14:07 UTC, การล้นของค่าจำนวนเต็มแบบ 32 บิตที่มีการลงนาม (32-bit signed integer overflow)

วินาที เทียบกับ มิลลิวินาที และไมโครวินาที

  • 10 หลัก (1700000000) = วินาที; ใช้ได้กับ Unix, PHP, Postgres, MySQL และ Go (time.Unix)
  • 13 หลัก (1700000000000) = มิลลิวินาที; JavaScript: Date.now(); Java, Kotlin, Kafka
  • 16 หลัก = ไมโครวินาที ใช้โดย gettimeofday และระบบติดตาม
  • 19 หลัก = นาโนวินาที ใช้รหัส time.Now().UnixNano() สำหรับการติดตามตำแหน่งความละเอียดสูง

เครื่องมือนี้ถือว่าค่าเวลาเป็นในหน่วยวินาที แต่จะเปลี่ยนเป็นหน่วยมิลลิวินาทีโดยอัตโนมัติเมื่อค่าที่ป้อนมากกว่า 9,999,999,999 ซึ่งช่วยให้คุณสามารถแสดงเวลาที่กำหนดโดย JavaScript ได้อย่างแม่นยำ โดยไม่จำเป็นต้องใช้เมนูดรอปดาวน์

ปัญหาปี ค.ศ. 2038 (Y2K38)

ระบบที่จัดเก็บเวลาประทับ (timestamp) ในรูปของจำนวนเต็ม 32 บิตที่มีการลงนามจะมีการเปลี่ยนแปลงข้อมูลเมื่อวันที่ 19 มกราคม 2038 เวลา 03:14:07 ตามเวลามาตรฐานสากล (UTC) หากโค้ดใดยังคงใช้รหัส time_t แทน int32 วันที่จะถูกปรับกลับไปเป็นปี 1901 การแก้ไขคือการใช้หน่วยความจำแบบ 64 บิต ซึ่งจะช่วยยืดอายุการใช้งานออกไปได้อีกประมาณ 292 พันล้านปี, ถือว่ามีระยะเวลานานเพียงพออย่างมาก

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

คุณกำลังดูค่าในหน่วยมิลลิวินาทีนับตั้งแต่ช่วงเวลาเริ่มต้น (epoch) ไม่ใช่ในหน่วยวินาที ฟังก์ชัน Date.now() และ new Date().getTime() ของ JavaScript ต่างก็คืนค่าเป็นมิลลิวินาที โดยเครื่องมือจะตรวจจับค่าที่มากกว่า 9,999,999,999 และทำการหารด้วย 1,000 อัตโนมัติ

ตามนิยามแล้ว ไทม์สแตมป์ของยูนิกซ์จะเป็น UTC เสมอ เพราะเป็นช่วงเวลาที่แน่นอน ไม่ใช่เวลาตามนาฬิกาท้องถิ่น หากต้องการแสดงผลในกรุงเทพฯ หรือเขตเวลาอื่น ให้แปลงวันที่รูปแบบ UTC ที่ได้จากที่นี่ด้วยเครื่องแปลงเขตเวลา หรือบวกค่าออฟเซ็ตเอง (กรุงเทพฯ/ICT = UTC+07:00)

โปรแกรมพาร์เซอร์ DateTime ของ PHP รองรับรูปแบบต่อไปนี้: 2025-01-15, 2025-01-15T14:30:00Z, Jan 15 2025 2:30 PM, next Monday, now - 1 hour และ @1700000000 ในรูปแบบยูนิกซ์ ทั้งนี้พาร์เซอร์รองรับเฉพาะรูปแบบ ISO/ตัวเลข หรือคำสำคัญภาษาอังกฤษ ส่วนชื่อเดือนภาษาไทย (เช่น มกราคม) จะไม่ถูกรู้จัก หากการพาร์ซิ่งล้มเหลว เครื่องมือจะแสดงคำแนะนำเกี่ยวกับรูปแบบที่พบบ่อย

ไม่ เครื่องมือนี้จะประมวลผลค่าตามคำขอและส่งผลลัพธ์กลับมา โดยไม่มีการจัดเก็บหรือส่งข้อมูลเวลา (timestamp) ของคุณไปยังที่ใดเลย

เครื่องมือที่เกี่ยวข้อง

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

ตัวตรวจสอบความถูกต้องของ JSON

ตรวจสอบไวยากรณ์ JSON และตรวจจับเครื่องหมายจุลภาคต่อท้าย เครื่องหมายอัญประกาศที่ผิด คีย์ซ้ำ และโครงสร้างที่ผิดรูปแบบ พร้อมระบุตำแหน่งข้อผิดพลาดอย่างแม่นยำ

เครื่องมือปิดบังโค้ด JavaScript

เพื่อป้องกันส่วนฟรอนต์เอนด์ ให้ทำให้โค้ด JavaScript ซับซ้อนขึ้นโดยใช้วิธีการเข้ารหัสอาร์เรย์สตริง การเปลี่ยนชื่อตัวแปร การปรับโครงสร้างการไหลของควบคุมให้เรียบง่าย และการแทรกโค้ดที่ไม่จำเป็น

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือนี้มีให้บริการในภาษาอื่น