วันที่เป็น Unix Timestamp
วันที่เป็น Unix Timestamp เป็นเครื่องมือฟรีสำหรับแปลงวันที่และเขตเวลาที่กำหนดให้เป็น Unix timestamp เพื่อนำไปใช้ในโค้ด API ฐานข้อมูล และบันทึกเหตุการณ์
Unix timestamp คืออะไร?
Unix timestamp คือจำนวนเต็มที่แสดงจำนวนวินาทีซึ่งผ่านไปนับจากเวลา 00:00:00 UTC ของวันที่ 1 มกราคม 1970 จุดเริ่มต้นนี้เรียกว่า Unix epoch ตัวอย่างเช่น เวลา epoch มี timestamp เท่ากับ 0 ส่วนวันที่หลังจากนั้นจะมีค่าเป็นบวก
Unix timestamp ช่วยให้ระบบต่าง ๆ แลกเปลี่ยนจุดเวลาได้ในรูปแบบกะทัดรัดและไม่ขึ้นกับภาษา ทั้งยังหลีกเลี่ยงความกำกวมของรูปแบบวันที่ในแต่ละพื้นที่ เช่น 10/09/2026 ซึ่งผู้อ่านชาวไทยเข้าใจว่าเป็นวันที่ 10 กันยายน แต่บางระบบอาจตีความว่าเป็นวันที่ 9 ตุลาคม
Timestamp ระบุจุดเวลาหนึ่ง ไม่ใช่วันที่ในปฏิทินที่จัดรูปแบบไว้แล้ว ตัวเลขนี้ไม่มีป้ายกำกับ Europe/London, UTC หรือเขตเวลาอื่นติดมาด้วย เขตเวลาจึงสำคัญในขั้นตอนการแปลง เพราะเป็นตัวกำหนดว่าวันที่และเวลาท้องถิ่นเดิมหมายถึงจุดเวลาใด
แปลงวันที่เป็น Unix timestamp อย่างไร?
ตั้งค่าช่อง เขตเวลา จากนั้นนำค่า การประทับเวลา Unix ที่ได้ไปใช้ในระบบปลายทาง
- เลือกเขตเวลาที่ต้องการ
- สั่งแปลง แล้วคัดลอกจำนวนเต็มจากช่อง การประทับเวลา Unix
- ก่อนใส่ค่า ให้ตรวจสอบว่าระบบปลายทางต้องการหน่วยวินาทีหรือมิลลิวินาที
การเลือกเขตเวลาสามารถทำให้ผลลัพธ์ต่างกันหลายชั่วโมง และส่วนต่างอาจเปลี่ยนไปตามวันที่ เนื่องจากบางพื้นที่ เช่น สหราชอาณาจักร ใช้กฎเวลาออมแสง Europe/London จะตรงกับ UTC ในฤดูหนาว และโดยทั่วไปเป็น UTC+1 ในช่วง British Summer Time
การแปลงด้วยวันที่เป็น Unix Timestamp ทำงานบนเซิร์ฟเวอร์ ข้อมูลในช่อง เขตเวลา จะถูกส่งไปยังเซิร์ฟเวอร์ผ่าน HTTPS และไม่มีการจัดเก็บไว้
อ่านค่า timestamp ที่ได้อย่างไร?
ให้อ่านผลลัพธ์เป็นจำนวนวินาทีที่นับจาก Unix epoch โดยไม่มีเครื่องหมายวรรคตอน ส่วนต่อท้ายที่ระบุเขตเวลา หรือข้อมูลวันที่ที่มนุษย์อ่านได้ ค่าของวันที่ในปัจจุบันมักมี 10 หลัก แต่จำนวนหลักเพียงอย่างเดียวไม่สามารถยืนยันได้ว่า timestamp นั้นถูกต้อง
ปัญหาที่พบบ่อยที่สุดเมื่อนำค่าไปเชื่อมต่อกับระบบอื่นคือการสับสนระหว่างวินาทีกับมิลลิวินาที เครื่องมือที่ทำงานกับ Unix และระบบฝั่งเซิร์ฟเวอร์จำนวนมากใช้วินาที ส่วน API วันที่ของ JavaScript มักใช้มิลลิวินาที ดังนั้นในกรณีนี้อาจต้องนำค่าแบบวินาทีไปคูณด้วย 1,000
- 0 หมายถึงวันที่ 1 มกราคม 1970 เวลา 00:00:00 UTC
- จำนวนเต็มบวกที่มากขึ้นหมายถึงจุดเวลาที่อยู่ภายหลัง
- Timestamp ติดลบใช้แทนวันที่ก่อน epoch ได้ แต่การรองรับจะแตกต่างกันไปตามแอปพลิเคชันและแพลตฟอร์ม
- ตัวเลขนี้จะไม่เก็บเขตเวลาที่ใช้คำนวณไว้ตั้งแต่แรก
การได้ผลลัพธ์เป็นตัวเลขไม่ได้ยืนยันว่าคุณเลือกเขตเวลาตามที่ตั้งใจไว้ หากเวลาหลังการแปลงดูไม่ถูกต้อง ให้ตรวจสอบเขตเวลาที่เลือกก่อน แล้วจึงตรวจสอบกฎเวลาออมแสงหากมีผลบังคับใช้ ถ้าค่าคลาดเคลื่อนเป็น 1,000 เท่า ให้ตรวจสอบหน่วยที่ระบบต้องการ
ตัวอย่างการแปลงวันที่
ตัวอย่างสั้น ๆ ต่อไปนี้แสดงให้เห็นว่าเขตเวลาส่งผลต่อจุดเวลาที่ระบุอย่างไร
1 มกราคม 1970 เวลา 00:00:00 UTC ตรงกับ 0
1 มกราคม 2024 เวลา 00:00:00 UTC ตรงกับ 1704067200
1 กรกฎาคม 2024 เวลา 12:00:00 Europe/London ตรงกับ 1719831600
ในตัวอย่างสุดท้าย ลอนดอนอยู่ในช่วง British Summer Time ดังนั้นเวลาเที่ยงวันตามเวลาท้องถิ่นจึงตรงกับ 11:00 UTC หากกำหนดเขตเวลาเป็น UTC ให้กับเวลาบนนาฬิกาที่เขียนเหมือนกัน จะได้ timestamp คนละค่า
สำหรับข้อมูลจากบุคคลที่สาม ควรใช้วันที่ที่ไม่กำกวม เช่น 1 กรกฎาคม 2024 หรือรูปแบบตามแนวทาง ISO อย่าง 2024-07-01 แทน 01/07/2024 ตัวอักษรที่มีเครื่องหมายกำกับเสียงหรืออักขระที่ไม่ใช่ละตินไม่ได้เป็นส่วนหนึ่งของ timestamp เพราะผลลัพธ์มีเฉพาะตัวเลข และอาจมีเครื่องหมายลบนำหน้า
การแปลงวันที่เป็น Unix time มีประโยชน์เมื่อใด?
การแปลงมีประโยชน์เมื่อต้องนำวันที่ที่มนุษย์อ่านได้ไปเปรียบเทียบ เรียงลำดับ หรือส่งต่อในรูปแบบจุดเวลาที่แม่นยำและเครื่องอ่านได้ ตัวอย่างการใช้งานทั่วไป ได้แก่ การดีบักการตอบกลับจาก API การเตรียมงานตามกำหนดเวลาก่อนนำระบบขึ้นใช้งาน การตรวจสอบระเบียนในฐานข้อมูล และการตีความวันที่จากบริการอื่น
- แปลงกำหนดเวลาเผยแพร่ก่อนใส่ลงในการกำหนดค่าการนำระบบขึ้นใช้งาน
- เปรียบเทียบเหตุการณ์ในแอปพลิเคชันกับ timestamp ในบันทึกของเซิร์ฟเวอร์
- เตรียมพารามิเตอร์คำขอสำหรับ API ที่รับเวลาเริ่มต้นและสิ้นสุดเป็นจำนวนวินาทีจาก epoch
- ปรับวันที่ที่นำเข้าจากไฟล์ CSV ให้เป็นรูปแบบเดียวกันก่อนบันทึกลงฐานข้อมูล
- ตรวจสอบว่า webhook จากบุคคลที่สามส่งค่าเป็นวินาที ไม่ใช่มิลลิวินาที
ไม่จำเป็นต้องแปลงหากวันที่มีไว้ให้คนอ่านเท่านั้น และระบบปลายทางรองรับค่า ISO 8601 ที่ชัดเจน วันที่อย่าง 2026-09-10T14:30:00+01:00 จะเก็บส่วนต่างจาก UTC ไว้ และมักตรวจสอบได้ง่ายกว่าในระหว่างการดีบัก เช่นเดียวกัน การแปลงค่าที่เป็น Unix timestamp อยู่แล้วซ้ำ ๆ ไม่ได้เพิ่มข้อมูลใด
เครื่องมือนี้ไม่ตรวจสอบความถูกต้องของสคีมา API ไม่ยืนยันว่างานตามกำหนดเวลาจะทำงาน และไม่เก็บเขตเวลาเดิมไว้ในผลลัพธ์ หากต้องการดู timestamp ในรูปแบบวันที่ตามปฏิทิน ให้ใช้การประทับเวลา Unix เป็นวันที่
คำถามที่พบบ่อย
กรอกวันที่หรือเวลาโดยตรงได้ไหม?
ไม่ได้ ช่องเดียวที่ผู้ใช้กรอกได้ตามข้อมูลของเครื่องมือนี้คือ เขตเวลา
เครื่องมือนี้เรียกใช้ฟังก์ชัน PHP อะไร?
ระบบฝั่งเซิร์ฟเวอร์เรียกใช้ฟังก์ชัน date ของ PHP
ปัญหา Year 2038 คืออะไร?
ค่าสูงสุดของ Unix timestamp แบบ signed 32-bit คือ 2,147,483,647 ซึ่งตรงกับวันที่ 19 มกราคม 2038 เวลา 03:14:07 UTC ระบบสมัยใหม่มักใช้ค่าแบบ 64-bit แต่ซอฟต์แวร์รุ่นเก่า รูปแบบไฟล์บางชนิด และอุปกรณ์ฝังตัวอาจยังมีข้อจำกัดนี้ เมื่อต้องเตรียมวันที่ในอนาคตที่ห่างไกล ให้ตรวจสอบชนิดข้อมูลที่ใช้จัดเก็บ
Unix timestamp นับ leap second ด้วยไหม?
ในโมเดล POSIX ทั่วไป Unix time ไม่ได้แสดง leap second เป็นวินาทีที่มีหมายเลขแยกต่างหาก วิธีนี้เพียงพอสำหรับการจัดตารางงานและการบันทึกเหตุการณ์ของแอปพลิเคชันส่วนใหญ่ แต่งานเฉพาะทางด้านดาราศาสตร์หรือการจับเวลาความแม่นยำสูงอาจต้องใช้มาตรฐานเวลาอื่น
ก่อนบันทึกผลลัพธ์ควรตรวจสอบอะไรบ้าง?
ตรวจสอบเขตเวลา สถานะเวลาออมแสง และหน่วยที่ระบบปลายทางต้องการ จากนั้นแปลง timestamp กลับเป็นวันที่ที่อ่านได้ภายในระบบนั้น แล้วเปรียบเทียบกับค่าเดิมก่อนนำระบบขึ้นใช้งานหรืออัปเดตข้อมูลที่จัดเก็บไว้
เครื่องมือที่คล้ายกัน
เครื่องมือยอดนิยม
สร้างลายเซ็นแบบกำหนดเองของคุณได้อย่างง่ายดายและดาวน์โหลดได้อย่างสะดวก
ใช้เครื่องมือ ping ของเราเพื่อตรวจสอบสถานะและเวลาตอบสนองของเว็บไซต์ เซิร์ฟเวอร์ หรือพอร์ตใด ๆ ได้อย่างรวดเร็วและมีประสิทธิภาพ
เครื่องมือค้นหา IP ของ Digily Link ให้ข้อมูลโดยละเอียดเกี่ยวกับที่อยู่ IP ใด ๆ ใช้บริการออนไลน์ฟรีนี้เพื่อดูข้อมูล IP อย่างครบถ้วน
สร้างลิงก์ WhatsApp ฟรีได้ทันทีด้วยเครื่องมือสร้างลิงก์ WhatsApp ของเรา เพิ่มข้อความที่กำหนดเองและเริ่มแชทได้ในคลิกเดียว โดยไม่ต้องเข้าสู่ระบบหรือเขียนโค้ด