เวลา/ตัวเลข

Unix Timestamp ↔ วันที่

แปลงเวลา Unix เป็นวันที่และย้อนกลับ พร้อมรองรับเขตเวลาใดก็ได้ (IANA)


                    

Unix time (epoch time) is the number of seconds elapsed since January 1, 1970, 00:00:00 UTC. It's the most common way to store time in databases, APIs, and logs, since it's just a single integer with no tie to a specific timezone or date format.

How to use it

Common uses

Things to keep in mind

Mixing up seconds and milliseconds is the most common mistake: JavaScript's Date.now() returns milliseconds, while most Unix APIs use seconds — a factor of 1000 off.

Unix time itself has no timezone — it's always UTC; a timezone is only applied when displaying the date to a person.

บทความเกี่ยวกับเครื่องมือนี้: Unix time: เหตุใดคอมพิวเตอร์จึงนับเวลาตั้งแต่ปี 1970

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

Unix timestamp คืออะไร?

คือจำนวนวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 เวลา 00:00:00 UTC (ยุค Unix) ตัวเลขนี้ไม่ผูกกับเขตเวลาใด ๆ — เขตเวลาจะถูกนำมาใช้ก็ต่อเมื่อแสดงวันที่ให้คนดูเท่านั้น

วินาทีกับมิลลิวินาทีต่างกันอย่างไร?

JavaScript และ API บางตัว (เช่น Date.now()) คืนค่า timestamp เป็นมิลลิวินาที ในขณะที่เวลา Unix แบบดั้งเดิมเป็นวินาที การสับสนหน่วยจะให้วันที่เป็นปี 1970 หรือที่ไหนสักแห่งในอนาคตอันไกล — เลือกหน่วยที่ถูกต้องในฟิลด์ "หน่วย"

เวลา Unix นับรวมวินาทีอธิกสุรทินหรือไม่?

ไม่ แต่ละวันในเวลา Unix มีค่าเท่ากับ 86400 วินาทีเสมอ วินาทีอธิกสุรทินจะถูกละเว้น ระบบที่ต้องการซิงค์กับ UTC ทางดาราศาสตร์อย่างแม่นยำจะจัดการวินาทีอธิกสุรทินด้วยกลไกแยกต่างหากนอกเหนือจาก Unix timestamp มาตรฐาน

Unix timestamp เป็นค่าติดลบได้หรือไม่?

ได้ ค่าติดลบสอดคล้องกับวันที่ก่อน 1 มกราคม 1970 ระบบสมัยใหม่ส่วนใหญ่จัดการค่าเหล่านี้ได้อย่างถูกต้อง แม้ว่า API หรือไลบรารีรุ่นเก่าบางตัวอาจไม่รองรับ

ปัญหาปี 2038 คืออะไร?

ในระบบที่เก็บ timestamp เป็นจำนวนเต็ม 32 บิตแบบมีเครื่องหมาย ตัวนับวินาทีจะล้นในวันที่ 19 มกราคม 2038 ระบบ 64 บิตสมัยใหม่ไม่มีปัญหานี้

บทความ: เวลา/ตัวเลข

Cron expression: วิธีถอดรหัสตารางเวลาทำงาน

วิธีถอดรหัส expression อย่าง */15 * * * * และรู้แน่ชัดว่างานจะรันเมื่อไหร่

ระบบเลข: เหตุใดจึงมีระบบเลขฐานสอง ฐานแปด และฐานสิบหก

เหตุใดสี #FF5733 ใน CSS จึงเขียนด้วยเลขฐานสิบหกแทนที่จะเป็นฐานสิบ

Bitwise operation: AND, OR และ XOR ทำงานอย่างไรในระดับบิต

bitwise AND ต่างจาก logical AND อย่างไร และเหตุใดจึงต้องทำงานกับบิตแต่ละตัวของตัวเลข

ผลต่างวันที่: เหตุใดการนับวันจึงซับซ้อนกว่าที่คิด

เหตุใดการลบวันที่แบบไร้เดียงสาจึงอาจให้ผลลัพธ์ผิดพลาดเพราะปีอธิกสุรทิน

การคำนวณอายุ: เหตุใดจึงไม่ใช่แค่การลบปีธรรมดา

เหตุใดการลบปีเกิดแบบง่าย ๆ จึงอาจให้อายุมากกว่าความจริงหนึ่งปี

เขตเวลา: เหตุใด UTC จึงไม่ใช่สิ่งเดียวกับ GMT

เหตุใด UTC จึงไม่เคยเปลี่ยนแปลงสองครั้งต่อปี ในขณะที่เวลาลอนดอน (GMT/BST) เปลี่ยนแปลง

เครื่องคำนวณระยะเวลา: วิธีบวกชั่วโมง นาที และวินาทีอย่างถูกต้อง

เหตุใดเมื่อบวกนาทีและวินาทีจึงต้อง "ทด" เศษไปยังหลักถัดไป เหมือนกับการบวกเลขฐานสิบ

ISO 8601 Duration: วิธีเขียนระยะเวลาในรูปแบบมาตรฐาน

เหตุใด PT1H30M จึงหมายถึง "1 ชั่วโมง 30 นาที" ไม่ใช่ "1 นาที 30 ชั่วโมง"

หมายเลขสัปดาห์: เหตุใดแต่ละประเทศจึงนับสัปดาห์ต่างกัน

เหตุใดวันที่ 1 มกราคมจึงอยู่ในสัปดาห์ที่ 52 หรือ 53 ของปีก่อนหน้าบางครั้งตามมาตรฐาน ISO 8601

เลขโรมัน: ระบบที่ไม่มีเลขศูนย์และไม่มีหลักค่าประจำตำแหน่งทำงานอย่างไร

เหตุใด IV จึงหมายถึง 4 ไม่ใช่ 6 และกฎการลบทำงานอย่างไรในเลขโรมัน

IEEE 754: เหตุใด 0.1 + 0.2 จึงไม่เท่ากับ 0.3 ในโค้ด

เหตุใดเกือบทุกภาษาโปรแกรมจึงแสดงผล 0.1 + 0.2 เป็น 0.30000000000000004

ตัวเลขเป็นคำอ่าน: เหตุใดต้องแปลงตัวเลขเป็นคำ

เหตุใดเอกสารธนาคารจึงเขียนจำนวนเงินทั้งเป็นตัวเลขและคำอ่านพร้อมกัน