Unix Timestamp Converter

เครื่องมือแปลง Unix Timestamp

แปลง Unix timestamp (วินาทีหรือมิลลิวินาที) เป็นวันที่ที่อ่านง่าย หรือแปลงวันที่กลับเป็น epoch ได้ทันที พร้อมแสดง ISO 8601, RFC 2822, UTC, เวลาท้องถิ่น และอีก 10+ โซนเวลาในหน้าเดียว

Unix timestamp (หรือที่เรียกว่า "Unix time" หรือ "epoch time") คือจำนวนวินาทีที่ผ่านไปนับตั้งแต่ 00:00:00 UTC ของวันพฤหัสบดีที่ 1 มกราคม 1970 โดยไม่นับ leap seconds เป็นรูปแบบเวลามาตรฐานที่ใช้ในฐานข้อมูล, log, API และ cookie ตัวเลข 10 หลักคือวินาที (จะกลายเป็น 11 หลักในปี 2286) ตัวเลข 13 หลักคือมิลลิวินาที

เครื่องมือ Unix ส่วนใหญ่ (curl, date, syslog, JWT exp/iat) ใช้วินาที ส่วน Date.now ของ JavaScript คืนค่าเป็นมิลลิวินาที Java, Kotlin และ Web API หลายตัวก็ใช้มิลลิวินาทีเช่นกัน หากตัวเลขมีความยาวประมาณ 10 หลักในปัจจุบัน นั่นคือวินาที หากเป็น 13 หลักคือมิลลิวินาที iKit ตรวจจับอัตโนมัติจากจำนวนหลัก แต่คุณสามารถบังคับเลือกหน่วยได้ด้วยปุ่มตัวเลือก

เวลา Unix ปัจจุบัน (สด)
วินาที
มิลลิวินาที
หน่วย

ISO 8601 (UTC)

นาฬิกา UTC

เวลาท้องถิ่น

ปี-เดือน-วัน ชม:นาที:วิ (ท้องถิ่น)

RFC 2822 / HTTP

เทียบกับตอนนี้

วันในสัปดาห์

เวลาเดียวกันในโซนเวลาหลัก

ทำไมต้องเลือก iKit Unix Timestamp Converter

ออกแบบมาเพื่อนักพัฒนาที่ต้องดีบัก log, API และ timestamp ในฐานข้อมูล — ไม่ต้องสมัคร ไม่ต้องอัปโหลด ไม่มีบุคคลที่สามคั่นกลางระหว่างคุณกับข้อมูล

Epoch ปัจจุบันแบบสด

เวลา Unix ปัจจุบันอัปเดตทุกวินาทีที่ด้านบนของหน้า ทั้งในหน่วยวินาทีและมิลลิวินาที คัดลอกได้ในคลิกเดียว

ตรวจจับวินาที/มิลลิวินาทีอัตโนมัติ

วางตัวเลขใดก็ได้ — 10 หลักถือเป็นวินาที, 13 หลักเป็นมิลลิวินาที, 16 หลักเป็นไมโครวินาที สามารถสลับหน่วยเองได้เมื่อจำเป็น

ครบทุกฟอร์แมตที่ใช้บ่อย

ISO 8601, RFC 2822, นาฬิกา UTC, เวลาท้องถิ่น และ Y-M-D H:M:S ในหน้าเดียว พร้อมวันในสัปดาห์และระยะเวลาเทียบเชิงสัมพัทธ์ที่อ่านง่าย ("2 ชั่วโมงที่แล้ว")

ดู 10+ โซนเวลาในพริบตา

ดูเวลาเดียวกันใน UTC, นิวยอร์ก, แอลเอ, ลอนดอน, ปารีส, โตเกียว, เซี่ยงไฮ้, ไทเป, โกลกาตา และซิดนีย์ — เหมาะกับการจัดการเหตุการณ์ข้ามทีมและ API ระดับโลก

แปลงได้สองทาง

สลับไปยังโหมด วันที่ → Timestamp เพื่อพิมพ์ "Jan 15 2024 10:30 UTC" หรือเลือกจากตัวเลือกวันที่-เวลา รับค่า Unix timestamp ทั้งในหน่วยวินาทีและมิลลิวินาที

ออกแบบมาเพื่อความเป็นส่วนตัว

ทุกอย่างทำงานเป็น JavaScript ที่โหลดในแท็บเบราว์เซอร์ของคุณอยู่แล้ว ตรวจสอบได้ใน DevTools → Network: ไม่มี fetch, ไม่มี XHR, ไม่มีการเก็บ log ปลอดภัยกับ timestamp จากระบบ production

การแปลง Unix timestamp ทำงานอย่างไร

Unix timestamp เป็นเพียงเลขจำนวนเต็ม — แต่การเปลี่ยนเป็นวันที่มีรายละเอียดมากกว่าที่คิด

  1. 1

    เลือกหน่วย

    Unix timestamp อาจเป็นวินาที, มิลลิวินาที, ไมโครวินาที หรือนาโนวินาที ขึ้นอยู่กับแหล่งที่มา ขั้นแรกคือต้องรู้ว่าเป็นหน่วยใด iKit ใช้จำนวนหลักในการตรวจ: ~10 หลัก = วินาที, ~13 = ms, ~16 = µs และคุณสามารถเปลี่ยนเองได้ด้วยปุ่มตัวเลือกหน่วย

  2. 2

    คูณเป็นมิลลิวินาที

    Constructor ของ Date ใน JavaScript รับค่าเป็นมิลลิวินาที เราจึงคูณวินาที × 1000 (หรือหารไมโครวินาที / 1000) เพื่อให้เป็นหน่วยมาตรฐาน ภายใน Date จะเก็บมิลลิวินาทีนับจาก epoch ในรูป float 64-bit ซึ่งครอบคลุม timestamp ทุกค่าที่ใช้งานจริงได้สบาย

  3. 3

    จัดรูปแบบให้คนอ่าน

    เมื่อมีอ็อบเจกต์ Date แล้ว เราสั่งให้จัดรูปแบบในหลายวิธี: toISOString สำหรับ ISO 8601 / UTC, toUTCString สำหรับ RFC 2822, toString สำหรับโซนเวลาท้องถิ่นของผู้ใช้ และ Intl.DateTimeFormat สำหรับโซนเวลาอื่น ๆ ที่ต้องการแสดง

  4. 4

    แปลงย้อนกลับ

    ทิศทางตรงกันข้าม Date.parse ของเบราว์เซอร์รองรับ ISO 8601 และรูปแบบเป็นธรรมชาติอีกหลายแบบ Input datetime-local จะตีความตามโซนเวลาท้องถิ่นของผู้ใช้ getTime คืนค่ามิลลิวินาทีนับจาก epoch หารด้วย 1000 จะได้วินาที

งานทั่วไปที่ใช้ Unix timestamp

สถานการณ์จริงที่คุณจะต้องใช้เครื่องมือแปลง epoch

อ่าน claim exp / iat ของ JWT

JSON Web Token เก็บ iat (ออกเมื่อ) และ exp (หมดอายุเมื่อ) เป็น Unix วินาที วางตัวเลขเข้ามาเพื่อดูทันทีว่า token ยังใช้ได้หรือไม่ ออกเมื่อใด และเหลืออีกนานแค่ไหนก่อนหมดอายุ

ดีบักคอลัมน์ timestamp ในฐานข้อมูล

Postgres extract(epoch from now), MySQL UNIX_TIMESTAMP, MongoDB $toDate — ทั้งหมดคืนค่า Unix epoch วางค่า timestamp จาก row เพื่อดูเวลานาฬิกาจริงในแต่ละโซนเวลา

เทียบ log จากระบบที่ต่างกัน

Log แอปพลิเคชันใน UTC, syslog ในเวลาท้องถิ่น, log จากผู้ให้บริการต้นทางใน PST แปลงแต่ละ timestamp เป็น ISO 8601 ที่นี่ แล้วคุณจะเรียงลำดับเหตุการณ์ทีละวินาทีเพื่อสืบสวนเหตุการณ์ได้

สร้างค่า TTL ของแคชหรือวันหมดอายุของคุกกี้

เลือกวันที่ในอนาคตจากตัวเลือก คัดลอก Unix timestamp แล้ววางลงใน header Set-Cookie, ฟิลด์ HTTP Expires หรือไฟล์ตั้งค่า TTL ของแคช ไม่ต้องคำนวณในหัว ไม่มีพลาดโซนเวลาคลาดเคลื่อน

ทำไมการแปลงในเครื่องจึงสำคัญ

Timestamp จาก log ของ production, ticket ซัพพอร์ตลูกค้า, audit trail หรือชุดข้อมูลทดสอบ ดูเผิน ๆ อาจไม่มีพิษภัย แต่จริง ๆ แล้วเชื่อมโยงกับการกระทำของผู้ใช้และเหตุการณ์ในระบบ การวางลงในเซิร์ฟเวอร์ของคนอื่นจะสร้างร่องรอยที่คุณควบคุมไม่ได้ ตัวแปลงของ iKit ทำงานเป็น JavaScript ที่โหลดในแท็บเบราว์เซอร์ของคุณอยู่แล้ว

  • ไม่มี network request ระหว่างการแปลง — ตรวจสอบได้ใน DevTools → Network
  • การคำนวณทั้งหมดเป็น Date arithmetic ใน JavaScript ไม่มี analytics บนตัว timestamp
  • ปลอดภัยกับ timestamp จากฐานข้อมูล production, log line offset และรายการใน audit trail

คู่มือที่เกี่ยวข้อง

บทความเชิงลึกและการเปรียบเทียบเครื่องมือจากบล็อก iKit

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

Unix timestamp คืออะไร?

Unix timestamp (หรือที่เรียกว่า "Unix time" หรือ "epoch time") คือจำนวนวินาทีที่ผ่านไปนับตั้งแต่ 00:00:00 UTC ของวันพฤหัสบดีที่ 1 มกราคม 1970 โดยไม่นับ leap seconds เป็นรูปแบบเวลามาตรฐานที่ใช้ในฐานข้อมูล, log, API และ cookie ตัวเลข 10 หลักคือวินาที (จะกลายเป็น 11 หลักในปี 2286) ตัวเลข 13 หลักคือมิลลิวินาที

ความแตกต่างระหว่างวินาทีและมิลลิวินาทีคืออะไร?

เครื่องมือ Unix ส่วนใหญ่ (curl, date, syslog, JWT exp/iat) ใช้วินาที ส่วน Date.now ของ JavaScript คืนค่าเป็นมิลลิวินาที Java, Kotlin และ Web API หลายตัวก็ใช้มิลลิวินาทีเช่นกัน หากตัวเลขมีความยาวประมาณ 10 หลักในปัจจุบัน นั่นคือวินาที หากเป็น 13 หลักคือมิลลิวินาที iKit ตรวจจับอัตโนมัติจากจำนวนหลัก แต่คุณสามารถบังคับเลือกหน่วยได้ด้วยปุ่มตัวเลือก

Timestamp ของฉันถูกอัปโหลดไปที่ไหนหรือไม่?

ไม่เลย เครื่องมือทั้งหมดเป็น JavaScript ที่ทำงานในแท็บเบราว์เซอร์ของคุณ การแปลงเป็นการคำนวณ Date ธรรมดา — ไม่มี fetch, ไม่มี XHR, ไม่มี beacon เปิด DevTools → Network แล้วดูได้: ไม่มี request ใดถูกส่งเมื่อคุณพิมพ์ ปลอดภัยที่จะวาง timestamp จาก log ของ production, ฐานข้อมูล staging หรือ ticket ของฝ่ายซัพพอร์ต

จะแปลง timestamp จากโซนเวลาอื่นได้อย่างไร?

Unix timestamp ไม่มีโซนเวลาตามนิยาม — เป็นจำนวนวินาทีนับจาก epoch ใน UTC ความต่างจะปรากฏตอนที่นำมาแสดงผลเท่านั้น ตัวเลือกในฝั่ง วันที่ → Timestamp จะใช้โซนเวลาท้องถิ่นของเบราว์เซอร์ หากต้องการป้อนวันที่ในโซนอื่น ให้พิมพ์แบบอิสระพร้อม offset ชัดเจน เช่น "2024-01-15 10:30:00 +09:00" หรือ "2024-01-15 10:30 UTC"

แล้วปัญหา Year 2038 ล่ะ?

Unix timestamp แบบ 32-bit signed จะ overflow ในวันที่ 19 มกราคม 2038 iKit ใช้ชนิด Number ของ JavaScript (ช่วง safe-integer 53 บิต) จึงรองรับวันที่เกินปี 275000 AD ได้สบาย ปัญหา Y2038 จะกระทบระบบที่ใช้ time_t แบบ 32-bit — เคอร์เนล, ฐานข้อมูล และภาษาส่วนใหญ่ในปัจจุบันย้ายไปใช้เวลาแบบ 64-bit แล้ว แต่เฟิร์มแวร์ embedded รุ่นเก่ายังคงเสี่ยงอยู่