tigtools

ตัวแปลง Unix Timestamp

วาง epoch timestamp เพื่อดูวันที่เป็น UTC และเขตเวลาของคุณ หรือเลือกวันที่เพื่อดู timestamp หน่วยจะถูกตรวจจับอัตโนมัติ

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

เวลา Unix ปัจจุบัน

วินาที

…

มิลลิวินาที

…

Timestamp → วันที่

วันที่ → timestamp

ตีความเป็น

วันที่และเวลาถูกอ่านตามเขตเวลาของอุปกรณ์ของคุณ (UTC)

วิธีใช้งาน

  1. วาง timestamp ลงใน “timestamp → วันที่” เครื่องมือจะตรวจจับว่าอยู่ในหน่วยวินาที มิลลิวินาที ไมโครวินาที หรือนาโนวินาที หรือคุณเลือกหน่วยเองได้
  2. อ่านวันที่เป็นเวลาท้องถิ่น เป็น UTC เป็น ISO 8601 และ RFC 2822 แล้วคัดลอกรูปแบบที่คุณต้องการ
  3. หากต้องการแปลงกลับ ให้เลือกวันที่และเวลาในส่วน “วันที่ → timestamp” แล้วเลือกว่าเป็นเวลาท้องถิ่นหรือ UTC
  4. เวลา Unix ปัจจุบันด้านบนอัปเดตทุกวินาที กดหยุดชั่วคราวเพื่อคัดลอกค่าคงที่

วิธีการทำงาน

เวลา Unix (หรือที่เรียกว่า epoch หรือเวลา POSIX) นับวินาทีตั้งแต่วันที่ 1 มกราคม 1970 เวลา 00:00:00 UTC ซึ่งเป็นตัวเลขเดียวกันทุกที่บนโลก ณ ช่วงเวลาหนึ่ง นั่นคือเหตุผลที่ใช้ในฐานข้อมูล log, API และระบบไฟล์ เวลาก่อนปี 1970 จะเป็นค่าลบ: -86400 คือวันที่ 31 ธันวาคม 1969

ระบบต่าง ๆ ใช้หน่วยต่างกัน เครื่องมือ Unix, PHP และ API ส่วนใหญ่ใช้วินาที (10 หลักสำหรับวันที่ปัจจุบัน) JavaScript และ Java ใช้มิลลิวินาที (13 หลัก) และบางฐานข้อมูลและระบบติดตามใช้ไมโครวินาที (16 หลัก) หรือนาโนวินาที (19 หลัก) การตรวจจับอัตโนมัติจะนับจำนวนหลักของส่วนจำนวนเต็ม: ไม่เกิน 11 หลักถือเป็นวินาที, 12–14 หลักเป็นมิลลิวินาที, 15–17 หลักเป็นไมโครวินาที และ 18 หลักขึ้นไปเป็นนาโนวินาที วิธีนี้ถูกต้องสำหรับวันที่ตั้งแต่ประมาณปี 1973 ถึง 5138; สำหรับวันที่อื่น ๆ ให้เลือกหน่วยเอง

ผลลัพธ์จะแสดงในหลายรูปแบบ ISO 8601 (2023-11-14T22:13:20.000Z) เป็นมาตรฐานสำหรับการแลกเปลี่ยนข้อมูล; Z หมายถึง UTC RFC 2822 (Tue, 14 Nov 2023 22:13:20 +0000) ใช้ในส่วนหัวอีเมลและฟีด RSS เวลาท้องถิ่นใช้เขตเวลาและการตั้งค่าภาษาของเบราว์เซอร์ของคุณ รวมถึงเวลาออมแสงด้วย

เวลา Unix ไม่นับวินาทีอธิกสุรทิน (leap seconds): ทุกวันมี 86,400 วินาทีพอดี วันที่แสดงด้วยความละเอียดระดับมิลลิวินาที ซึ่งเป็นความละเอียดของวันที่ใน JavaScript ดังนั้นตัวเลขส่วนเกินของ timestamp ระดับไมโครวินาทีและนาโนวินาทีจะถูกตัดทิ้งจากวันที่ที่แสดง

ตัวอย่าง

การอ่านบรรทัดบันทึก

บรรทัดบันทึกมี ts=1700000000 ซึ่งมี 10 หลัก จึงถูกอ่านเป็นวินาที: วันอังคารที่ 14 พฤศจิกายน 2023, 22:13:20 UTC และแสดงในเขตเวลาของคุณด้านล่าง

ค่า JavaScript Date.now()

1700000000000 มี 13 หลักและถูกอ่านเป็นมิลลิวินาที: ช่วงเวลาเดียวกับตัวอย่างข้างต้น หากหารด้วย 1,000 คุณจะได้เวลา Unix เป็นวินาทีตามที่ backend ฝั่ง PHP หรือ Python คาดหวัง

การตั้งวันหมดอายุสำหรับโทเค็น API

หากต้องการให้บางสิ่งหมดอายุในวันที่ 1 มกราคม 2030 เวลาเที่ยงคืน UTC ให้เลือกวันที่นั้นโดยเลือก “UTC”: ค่า Unix เป็นวินาทีคือ 1893456000 พร้อมใช้สำหรับ exp claim หรือ cache header

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

ฉันจะรู้ได้อย่างไรว่า timestamp ของฉันเป็นวินาทีหรือมิลลิวินาที?

นับจำนวนหลัก สำหรับวันที่ในช่วงไม่กี่ทศวรรษที่ผ่านมา วินาทีมี 10 หลัก (เช่น 1700000000) และมิลลิวินาทีมี 13 หลัก (เช่น 1700000000000) เครื่องมือจะตรวจจับโดยอัตโนมัติและแจ้งว่าหน่วยใดถูกใช้

Unix timestamp ขึ้นอยู่กับเขตเวลาหรือไม่?

ไม่ Timestamp ระบุช่วงเวลาหนึ่ง ๆ ซึ่งเหมือนกันทุกที่ การแสดงผลเป็นวันที่และเวลาตามปฏิทินเท่านั้นที่ขึ้นอยู่กับเขตเวลา ซึ่งเป็นเหตุผลที่เครื่องมือแสดงทั้งเวลา UTC และเวลาท้องถิ่นของคุณ

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

ระบบที่เก็บเวลา Unix เป็นจำนวนเต็มแบบ signed 32-bit นับได้ถึงแค่ 2,147,483,647 ซึ่งตรงกับวันที่ 19 มกราคม 2038 เวลา 03:14:07 UTC หลังจากนั้นหนึ่งวินาทีค่าจะล้น ระบบสมัยใหม่ใช้ค่าแบบ 64-bit ซึ่งหลีกเลี่ยงปัญหานี้ได้ เครื่องมือนี้ไม่ได้รับผลกระทบ

แปลงวันที่ก่อนปี 1970 ได้ไหม

ได้ ป้อน timestamp ค่าลบ เช่น -31536000 (1 มกราคม 1969) หรือเลือกวันที่ก่อนหน้านั้นในส่วน “วันที่ → timestamp”

ทำไมเวลาท้องถิ่นจึงต่างจาก UTC เป็นจำนวนไม่ลงตัว

บางเขตเวลามีออฟเซต 30 หรือ 45 นาที (เช่น อินเดีย UTC+5:30 และเนปาล UTC+5:45) และเวลาออมแสงจะเปลี่ยนออฟเซตในบางช่วงของปี เวลาท้องถิ่นที่แสดงเป็นไปตามกฎเขตเวลาของเครื่องคุณสำหรับวันที่นั้น

ความเป็นส่วนตัว

การแปลงทั้งหมดใช้ฟังก์ชันนาฬิกาและวันที่ของเบราว์เซอร์ของคุณ สิ่งที่คุณป้อนจะไม่ถูกอัปโหลด จัดเก็บ หรือรวมอยู่ในข้อมูลวิเคราะห์