นักพัฒนา

ตัวแปลง Unix Timestamp

เชื่อมช่องว่างระหว่างเวลา epoch และวันที่ที่มนุษย์อ่านได้ แปลง Unix timestamp ใดๆ เป็นวันที่ที่อ่านได้ หรือในทางกลับกัน — พร้อมแสดง timestamp ปัจจุบันแบบสดด้วยการคลิกเดียว

เครื่องมือนี้ช่วยคุณได้ไหม?

ตัวแปลง Unix Timestamp คืออะไร?

ตัวแปลง Unix Timestamp เป็นเครื่องมือพัฒนาที่จำเป็นซึ่งเชื่อมโยงเวลา epoch ที่เครื่องอ่านได้กับวันที่ที่มนุษย์อ่านได้ เวลา Unix (เรียกอีกอย่างว่าเวลา epoch) วัดจำนวนวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1970 00:00:00 UTC — ช่วงเวลาที่ระบบปฏิบัติการ Unix เริ่มทำงานครั้งแรกบนคอมพิวเตอร์ PDP-11 ที่ Bell Labs วันที่นี้เรียกว่า Unix Epoch และทำหน้าที่เป็นจุดศูนย์กลางสากลสำหรับการวัดเวลาในการคำนวณ ตัวแปลงทำงานในสองทิศทาง: ป้อน Unix timestamp (โดยปกติจะเป็นตัวเลข 10 หลักสำหรับวินาทีหรือ 13 หลักสำหรับมิลลิวินาที) เพื่อดูวันที่ที่อ่านได้ที่สอดคล้องกัน หรือป้อนวันที่และเวลาเพื่อรับ Unix timestamp ที่เทียบเท่า การแสดง Unix timestamp ปัจจุบันแบบเรียลไทม์อัปเดตทุกวินาทีเพื่อให้คุณสามารถจับช่วงเวลาที่แม่นยำด้วยการคลิกเดียว Date.now() ของ JavaScript และ API สมัยใหม่ส่วนใหญ่จะส่งคืน timestamp ในหน่วยมิลลิวินาที (13 หลัก) ในขณะที่ฐานข้อมูลและระบบเก่ามักใช้วินาที (10 หลัก) — การสับสนระหว่างสองสิ่งนี้เป็นหนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดในการพัฒนาเว็บ ตัวแปลงยังจัดการ timestamp ลบที่แสดงวันที่ก่อน epoch (31 ธันวาคม 1969 และก่อนหน้า) สลับระหว่าง UTC และเวลาท้องถิ่นเพื่อตรวจสอบค่าที่อ่อนไหวต่อเขตเวลา

เมื่อไหร่ควรใช้เครื่องคำนวณนี้

  • คุณกำลังดีบัก API ที่ส่งกลับ Unix timestamp และต้องอ่านเป็นวันที่มนุษย์
  • คุณกำลังเขียนโค้ดที่จัดเก็บหรือเปรียบเทียบวันที่และต้องแปลงระหว่าง timestamp และรูปแบบวันที่
  • คุณต้องการ Unix timestamp ปัจจุบันสำหรับรายการบันทึก การเรียก API หรือเรคคอร์ดฐานข้อมูล
  • คุณกำลังวิเคราะห์บันทึกเซิร์ฟเวอร์ที่ timestamp อยู่ในรูปแบบ epoch
  • คุณต้องการตรวจสอบว่า timestamp ในโค้ดของคุณตรงกับวันที่และเวลาที่ถูกต้อง
  • คุณกำลังทำงานกับฐานข้อมูลหรือระบบไฟล์ที่ใช้ Unix timestamp สำหรับ metadata ไฟล์

ขั้นตอน:

  1. ป้อน Unix timestamp เพื่อแปลงเป็นวันที่ที่อ่านได้
  2. หรือป้อนวันที่/เวลาเพื่อแปลงเป็น Unix timestamp
  3. คลิกปุ่มเวลาปัจจุบันเพื่อรับ Unix timestamp ปัจจุบัน
  4. คัดลอกผลลัพธ์ด้วยปุ่มคัดลอก

สูตร

Timestamp → วันที่: new Date(timestamp × 1000) วันที่ → Timestamp: Math.floor(date.getTime() / 1000) ยุค Unix: 1 มกราคม 1970 00:00:00 UTC Timestamp 32-bit สูงสุด: 19 มกราคม 2038 (03:14:07 UTC)

กรณีใช้งาน

  • ดีบักการตอบกลับ API ที่มี timestamp
  • แปลงค่า timestamp ของฐานข้อมูล
  • ตั้งค่าวันหมดอายุในโค้ด
  • การวิเคราะห์บันทึกและการตีความข้อมูลอนุกรมเวลา

ประโยชน์หลัก

  • แปลงระหว่าง Unix timestamp และวันที่ที่อ่านได้ทันทีในทั้งสองทิศทาง
  • Unix timestamp ปัจจุบันแบบเรียลไทม์อัปเดตทุกวินาทีพร้อมปุ่มคัดลอกด้วยการคลิกเดียว
  • สลับระหว่าง UTC และเวลาท้องถิ่นเพื่อตรวจสอบค่าที่อ่อนไหวต่อเขตเวลา
  • จัดการทั้งรูปแบบ 10 หลัก (วินาที) และ 13 หลัก (มิลลิวินาที)
  • ประมวลผล timestamp ลบสำหรับวันที่ก่อน Unix Epoch (ก่อน 1970)
  • ฟรี ทันที และทำงานในเบราว์เซอร์ของคุณโดยไม่ต้องลงทะเบียนหรือเก็บข้อมูล

เคล็ดลับ

  • เก็บ timestamp ใน UTC ในฐานข้อมูลเสมอ — แปลงเป็นเวลาท้องถิ่นเฉพาะเมื่อแสดงผลเท่านั้น
  • จำไว้ว่า Date.now() ของ JavaScript จะส่งคืนมิลลิวินาที สำหรับวินาที: Math.floor(Date.now() / 1000)
  • ใช้จำนวนเต็ม 64 บิตสำหรับการจัดเก็บ timestamp ในระบบใหม่เพื่อหลีกเลี่ยงปัญหา overflow ในปี 2038
  • เมื่อดีบักวันที่ที่ไม่คาดคิด ให้ตรวจสอบก่อนว่า timestamp อยู่ในหน่วยวินาทีหรือมิลลิวินาที — ความแตกต่างคือ 1000 เท่า
  • สำหรับ token ยืนยันตัวตน API หรือ URL ที่ลงนาม ให้คำนวณ timestamp หมดอายุฝั่งเซิร์ฟเวอร์และเปรียบเทียบกับเวลา Unix ปัจจุบันเพื่อตรวจสอบความถูกต้อง

ข้อผิดพลาดที่พบบ่อย

  • ลืมว่า Date.now() ของ JavaScript จะส่งคืนมิลลิวินาที — หารด้วย 1000 เสมอเมื่อเปรียบเทียบกับ timestamp ที่ใช้วินาที
  • สันนิษฐานว่า API ทั้งหมดใช้รูปแบบเดียวกัน — บางตัวส่งคืนวินาที บางตัวส่งคืนมิลลิวินาที ตรวจสอบเอกสาร API เสมอ
  • ไม่คำนึงถึงความแตกต่างของเขตเวลาระหว่างที่สร้าง timestamp และที่กำลังดู ทำให้วันที่ดูเหมือนต่างกันหลายชั่วโมง
  • ใช้จำนวนเต็ม 32 บิตสำหรับการจัดเก็บ timestamp ในระบบใหม่แทน 64 บิต ซึ่งจะล้นในปี 2038 และทำลายแอปพลิเคชัน

คำศัพท์สำคัญ

Unix timestamp: จำนวนวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1970 00:00:00 UTC (Unix Epoch)
Epoch: จุดอ้างอิงสำหรับการวัดเวลาในการคำนวณ สำหรับ Unix คือวันที่ 1 มกราคม 1970 00:00:00 UTC
UTC (เวลาสากลที่ประสานงาน): มาตรฐานเวลาหลักที่ใช้ทั่วโลก เป็นอิสระจากเขตเวลาใดก็ตาม
ปัญหาปี 2038: วันที่ Unix timestamp 32 บิตจะล้น ทำให้ระบบต้องสลับไปยังค่าลบและแสดงวันที่ประมาณปี 1901
Timestamp มิลลิวินาที: Unix timestamp 13 หลักที่วัดเวลาเป็นมิลลิวินาทีแทนวินาที ใช้โดย JavaScript Date.now() และ API สมัยใหม่ส่วนใหญ่

แนวคิดที่เกี่ยวข้อง

  • ยุค Unix: 1 มกราคม 1970 00:00:00 UTC จุดอ้างอิงที่ Unix timestamp ทั้งหมดวัดจาก
  • เวลา Epoch: ระบบแสดงเวลาเป็นจำนวนวินาทีที่ผ่านไปตั้งแต่ยุค Unix
  • UTC (เวลาสากลเชิงพิกัด): มาตรฐานเวลาหลักที่โลกใช้ควบคุมนาฬิกาและเวลา ไม่ขึ้นกับเขตเวลา
  • ปัญหาปี 2038: วันที่ Unix timestamp 32-bit จะล้น อาจทำให้ระบบตีความวันที่เป็น 1901
  • ISO 8601: มาตรฐานสากลสำหรับการแสดงวันที่และเวลา (เช่น 2024-06-29T12:00:00Z) เป็นทางเลือกแทน Unix timestamp

ตัวอย่าง

Timestamp ปัจจุบัน: 1719676800 → วันที่: 29 มิถุนายน 2024 12:00:00 PM UTC แปลงวันที่: "1 มกราคม 2025 00:00:00 UTC" → Timestamp: 1735689600

การตีความผลลัพธ์

ตัวแปลงทำงานสองทิศทาง: การป้อน Unix timestamp ให้วันที่ที่มนุษย์อ่านได้ และการป้อนวันที่ให้ Unix timestamp เวลา Unix ปัจจุบันแสดงด้านบนพร้อมปุ่มรีเฟรช เพื่อให้คุณเห็น timestamp สดได้เสมอโดยไม่ต้องพิมพ์อะไร Unix timestamp นับวินาทีตั้งแต่ 1 มกราคม 1970 UTC (ยุค Unix) ไม่ขึ้นกับเขตเวลา — timestamp เดียวกันแสดงช่วงเวลาเดียวกันทุกที่บนโลก เมื่อคุณป้อนวันที่ ตัวแปลงใช้ offset เขตเวลาท้องถิ่นของคุณเพื่อคำนวณ timestamp แต่คุณสามารถสลับเป็น UTC หากต้องการผลลัพธ์ที่เป็นกลางต่อเขตเวลา ปัญหาปี 2038 น่าเข้าใจ: จำนวนเต็มแบบมีเครื่องหมาย 32-bit ล้นในวันที่ 19 มกราคม 2038 หมายความว่าระบบเก่าที่ใช้ timestamp 32-bit จะวนกลับเป็นค่าลบ ระบบสมัยใหม่ใช้ timestamp 64-bit ที่จะไม่ล้นเป็นเวลาหลายพันล้านปี หากคุณพบวันที่ไม่คาดคิดรอบปี 1901 หรือ 2038 การล้น 32-bit เป็นสาเหตุที่น่าจะเป็น

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

Unix timestamp คืออะไร?
Unix timestamp คือจำนวนวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1970 เวลา 00:00:00 UTC (ยุค Unix) เป็นการอ้างอิงเวลาสากลที่ใช้ในการเขียนโปรแกรมและการคำนวณ
ทำไม timestamp จึงมีประโยชน์?
Timestamp ให้วิธีการจัดเก็บและเปรียบเทียบเวลาที่ไม่ขึ้นอยู่กับเขตเวลา ใช้ในฐานข้อมูล API การบันทึก และระบบใดๆ ที่ต้องการการติดตามเวลาที่แม่นยำ
ปัญหาปี 2038 คืออะไร?
ในวันที่ 19 มกราคม 2038, Unix timestamp แบบ 32-bit จะล้นเพราะจำนวนเต็มแบบมีเครื่องหมาย 32-bit สูงสุด (2,147,483,647) จะถูกเกิน ระบบสมัยใหม่ใช้ timestamp แบบ 64-bit เพื่อหลีกเลี่ยงปัญหานี้
ความแตกต่างระหว่างวินาทีและมิลลิวินาทีใน timestamp คืออะไร?
Unix timestamp มาตรฐานอยู่ในหน่วยวินาที JavaScript และ API สมัยใหม่หลายตัวใช้มิลลิวินาที (คูณวินาทีด้วย 1000) หากคุณได้รับวันที่ไม่คาดคิด ตรวจสอบว่า timestamp อยู่ในหน่วยวินาทีหรือมิลลิวินาที — timestamp มิลลิวินาทีที่ตีความเป็นวินาทีจะแสดงวันที่ไกลมากในอนาคต และในทางกลับกัน
ทำไม timestamp ของฉันแสดงวันที่แตกต่างจากที่คาดไว้?
สาเหตุที่พบบ่อยที่สุดคือ: timestamp อยู่ในมิลลิวินาทีแทนที่จะเป็นวินาที (หรือในทางกลับกัน), ความแตกต่างของเขตเวลาระหว่างที่ timestamp ถูกสร้างขึ้นและที่คุณกำลังดู, หรือการล้น 32-bit สำหรับค่าที่มากหรือน้อยมาก สลับระหว่าง UTC และเวลาท้องถิ่นเพื่อตัดปัญหาเขตเวลา
ฉันสามารถแปลง timestamp ก่อนปี 1970 ได้ไหม?
ได้ Timestamp ก่อนวันที่ 1 มกราคม 1970 แสดงเป็นตัวเลขลบ ตัวอย่างเช่น -86400 แสดงถึงวันที่ 31 ธันวาคม 1969 เวลา 00:00:00 UTC ตัวแปลงจัดการ timestamp ลบได้อย่างถูกต้อง
ฐานข้อมูลมักใช้รูปแบบใดสำหรับ timestamp?
ฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่ (PostgreSQL, MySQL) รองรับทั้ง Unix timestamp (เป็นคอลัมน์จำนวนเต็ม) และประเภท datetime/timestamp แบบเนทีฟ TIMESTAMPTZ ของ PostgreSQL จัดเก็บ timestamp ที่รู้เขตเวลาไว้ภายใน การเลือกขึ้นอยู่กับความต้องการของแอปพลิเคชันของคุณ — Unix timestamp ง่ายกว่าสำหรับการเปรียบเทียบ ในขณะที่ประเภท datetime แบบเนทีฟอ่านได้ง่ายกว่าใน query
ฉันจัดการการแปลงเขตเวลาด้วย Unix timestamp อย่างไร?
Unix timestamp เป็น UTC เสมอภายใน เพื่อแสดงในเขตเวลาท้องถิ่น ให้ใช้ offset เขตเวลาในเวลาแสดงผล ภาษาการเขียนโปรแกรมส่วนใหญ่มีฟังก์ชันการแปลงเขตเวลาในตัว ใน JavaScript: new Date(timestamp * 1000).toLocaleString('en-US', { timeZone: 'America/New_York' })
ค่า Unix timestamp สูงสุดคืออะไร?
จำนวนเต็มแบบมีเครื่องหมาย 64-bit สามารถแสดง timestamp ได้ถึงประมาณ 292 พันล้านปีจากยุค — ไกลเกินอายุของจักรวาล ในทางปฏิบัติ timestamp 64-bit จะไม่มีวันล้น ขีดจำกัด 32-bit (2,147,483,647 วินาที) ตรงกับวันที่ 19 มกราคม 2038 เวลา 03:14:07 UTC
ทำไมบางระบบจึงหันออกจาก Unix timestamp?
Unix timestamp สูญเสียการอ่านได้สำหรับมนุษย์และไม่จัดการวินาทีอธิกสุรทิน การเปลี่ยนแปลงเขตเวลา หรือการปฏิรูปปฏิทินได้อย่างสง่างาม สตริง ISO 8601 (เช่น 2024-06-29T12:00:00Z) เป็นเอกสารในตัวเองและรู้เขตเวลา อย่างไรก็ตาม Unix timestamp ยังคงได้รับความนิยมเนื่องจากความเรียบง่าย ความกะทัดรัด และความเป็นอิสระจากเขตเวลาในการจัดเก็บและการคำนวณ

ค้นพบเครื่องมือเพิ่มเติม

คัดสรรใหม่จากคลังเครื่องมือทั้งหมดของเรา