เวลา/ตัวเลข

ตัวแยกวิเคราะห์ระยะเวลา ISO 8601

แยกวิเคราะห์สตริงอย่าง "P3Y6M4DT12H30M5S" ให้อยู่ในรูปแบบที่อ่านง่าย หรือสร้างสตริงแบบนี้จากปี/เดือน/วัน/ชั่วโมง/นาที/วินาที


                        

An ISO 8601 duration (e.g. P3Y6M4DT12H30M5S) is a compact, unambiguous way to write a time span, used by many APIs and data formats, but hard to read without parsing it. This tool translates such a string into plain language and lets you build one from separate fields.

How to use it

Common uses

Things to keep in mind

The leading P stands for "period" and is required, just like the T that separates days from hours in the time part.

The base standard doesn't define a sign for durations — negative durations (to mean "ago") are only supported by specific implementations as an unofficial extension.

บทความเกี่ยวกับเครื่องมือนี้: ISO 8601 Duration: วิธีเขียนระยะเวลาในรูปแบบมาตรฐาน

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

สตริงอย่าง P3Y6M4DT12H30M5S หมายถึงอะไร?

นี่คือรูปแบบระยะเวลามาตรฐาน ISO 8601: P หมายถึง "period" (ช่วงเวลา) ตามด้วยปี/เดือน/วันจนถึงตัวอักษร T ซึ่งหลังจากนั้นคือชั่วโมง/นาที/วินาที ในตัวอย่างนี้คือ 3 ปี 6 เดือน 4 วัน 12 ชั่วโมง 30 นาที และ 5 วินาที

ระยะเวลา ISO ต่างจากระยะเวลาแบบง่ายในหน่วยชั่วโมงอย่างไร?

ต่างจากหน่วยคงที่ (เช่นในเครื่องคำนวณระยะเวลา) ส่วนประกอบ "ปี" และ "เดือน" ที่นี่อิงตามปฏิทินและไม่มีจำนวนวินาทีคงที่ — ความยาวที่แน่นอนขึ้นอยู่กับวันที่เฉพาะที่นำไปใช้

รองรับรูปแบบสัปดาห์ P4W หรือไม่?

รองรับ แต่เฉพาะตอนแยกวิเคราะห์สตริงที่มีอยู่แล้วเท่านั้น เมื่อสร้างสตริงของคุณเอง สัปดาห์ต้องแสดงเป็นวัน เนื่องจาก ISO 8601 ไม่อนุญาตให้รวมสัปดาห์กับส่วนประกอบอื่นในสตริงเดียว

สามารถระบุวินาทีหรือนาทีทศนิยมได้หรือไม่?

ได้ มาตรฐานอนุญาตให้มีส่วนทศนิยมได้เฉพาะในองค์ประกอบสุดท้ายของสตริงเท่านั้น — เช่น PT1.5S (1.5 วินาที) หรือ PT1H30.5M (1 ชั่วโมง 30.5 นาที) ถูกต้อง แต่ส่วนทศนิยมในองค์ประกอบที่ไม่ใช่ตัวสุดท้ายนั้นไม่ถูกต้อง

มีระยะเวลา ISO แบบติดลบหรือไม่?

มาตรฐาน ISO 8601 พื้นฐานไม่ได้กำหนดเครื่องหมายสำหรับระยะเวลา แต่บางการใช้งาน (รวมถึงเครื่องมือนี้) รองรับเครื่องหมายลบนำหน้าเพื่อหมายถึง "ที่แล้ว" หรือระยะเวลาย้อนกลับ — เป็นส่วนขยายที่พบได้ทั่วไปแม้จะไม่เป็นทางการ

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

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

เหตุใดวันที่ 1 มกราคม 1970 จึงกลายเป็นจุดอ้างอิงเวลาสำหรับระบบคอมพิวเตอร์ส่วนใหญ่

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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