วิธีใช้งาน
- กรอกค่า
กรอกข้อมูลในช่องที่จำเป็น
- กดคำนวณ
กดปุ่มคำนวณเพื่อดูผลลัพธ์
- ดูผลลัพธ์
ดูผลลัพธ์และแชร์ได้ตามต้องการ
Unix timestamp คืออะไร?
Unix timestamp (Unix time, POSIX time, Epoch time) คือค่าที่แสดงจำนวนวินาที (seconds) ที่ผ่านไปนับตั้งแต่ 1 มกราคม 1970 เวลา 00:00:00 UTC (Unix Epoch) จนถึงปัจจุบัน ในรูปของจำนวนเต็มเพียงตัวเดียว เนื่องจากมันชี้ไปยังช่วงเวลาเดียวกันได้ทุกที่ทั่วโลกโดยไม่ขึ้นกับเขตเวลา เวลาออมแสง หรือรูปแบบการเขียนปฏิทิน จึงถูกใช้เป็นมาตรฐานโดยพฤตินัยในการจัดเก็บฐานข้อมูล การบันทึก log การสื่อสารผ่าน API และการเปรียบเทียบเวลา
ทำไมจึงแทนเวลาด้วยตัวเลข?
- เปรียบเทียบง่าย — การตัดสินว่าเวลาใดมาก่อนทำได้เพียงเปรียบเทียบขนาดของจำนวนเต็ม
- คำนวณสะดวก — การบวกหรือลบจะได้เวลาที่ผ่านไป (วินาที) ทันที
- ไม่กำกวม — เป็นเวลาสัมบูรณ์อิงตาม UTC จึงไม่เกิดความสับสนว่าเป็น KST หรือ UTC
รูปแบบ 10 หลัก (วินาที) และ 13 หลัก (มิลลิวินาที) ถูกใช้กันทั่วไป โดย JavaScript และ Java ใช้มิลลิวินาทีเป็นค่าเริ่มต้น ส่วน system call ของ Unix ใช้วินาที
สูตรการคำนวณ
timestamp และวันที่แปลงไป-กลับกันได้โดยใช้ 1000 (การแปลงเป็นมิลลิวินาที) เป็นตัวกลาง
- timestamp → วันที่:
date = new Date(timestamp x 1000) - วันที่ → timestamp:
timestamp = floor(มิลลิวินาที UTC / 1000)
ตัวอย่าง: แปลง 1711324800 วินาทีจะได้ 1711324800 x 1000 = 1,711,324,800,000 มิลลิวินาที → 2024-03-25 00:00:00 UTC ในทางกลับกัน เมื่อแปลง 1970-01-01 01:00 เนื่องจาก 1 ชั่วโมง = 3600 วินาที timestamp จึงเท่ากับ 3600 ในที่นี้ timestamp คือวินาทีที่ผ่านไปนับจาก Epoch, x1000 คือสัมประสิทธิ์การแปลงเป็นมิลลิวินาที และ floor คือการตัดทศนิยมทิ้ง