ISO 8601
ตัวอย่างวันที่: |
2024-08-23 |
ตัวอย่างวันที่และเวลา UTC แบบแยกกัน: |
2024-08-23 21:41Z |
ตัวอย่างวันที่และเวลา UTC แบบรวมกัน: |
2024-08-23T21:41Z |
ตัวอย่างวันที่ตามสัปดาห์: |
2024-W34-5 |
ตัวอย่างวันที่ของปี: |
2024-236 |
ISO 8601 คือมาตรฐานสำหรับการนำเสนอตามปฏิทินและเวลา ประกาศโดยองค์การระหว่างประเทศว่าด้วยการมาตรฐาน (ISO) มาตรฐานนี้มีหัวเรื่องว่า "องค์ประกอบข้อมูลและรูปแบบการแลกเปลี่ยน — รูปแบบการแลกเปลี่ยน — การนำเสนอวันที่และเวลา" คุณลักษณะสำคัญของการนำเสนอนี้คือ การจัดอันดับให้ส่วนที่มี ความสำคัญมากกว่าขึ้นก่อน นั่นคือเรียงจากหน่วยใหญ่ที่สุด (ปี) ไปยังหน่วยเล็กที่สุด (วินาที)
ประวัติ
[แก้]การประกาศ ISO 8601 ครั้งแรกเกิดขึ้นเมื่อ พ.ศ. 2531 เป็นการรวบรวมและแทนที่มาตรฐาน ISO ของเก่าซึ่งมีสัญกรณ์ที่แตกต่างกันได้แก่ ISO 2014, ISO 2015, ISO 2711, ISO 3307 และ ISO 4031[1] แทนที่ด้วยการแก้ไขครั้งที่สอง ISO 8601:2000 เมื่อ พ.ศ. 2543 และการแก้ไขครั้งที่สาม ISO 8601:2004 เผยแพร่เมื่อ 1 ธันวาคม พ.ศ. 2547 ต่อมาถูกยกเลิกและแก้ไขเป็น ISO 8601-1:2019 และ ISO 8601-2:2019 เมื่อวันที่ 25 กุมภาพันธ์ พ.ศ. 2562 ISO 8601 ถูกแก้ไข[2]และอยู่ภายใต้ความรับผิดชอบโดยตรงของคณะกรรมการเทคนิค ISO/TC 154[3]
ISO 2014 แนะนำให้ใช้การแสดงวันที่เป็นตัวเลขทั้งหมดเป็นครั้งแรก โดยเรียงจากหน่วยใหญ่ไปหน่วยเล็กดังนี้ [YYYY]-[MM]-[DD] ระบบเลขสัปดาห์ได้กำหนดไว้ใน ISO 2015 และการแสดงวันที่ของปีได้กำหนดไว้ใน ISO 2711
ขอบเขตและการใช้งานมาตรฐาน
[แก้]ขอบเขตของมาตรฐานนี้ครอบคลุมการนำเสนอสิ่งเหล่านี้
- วันที่ในปฏิทินเกรโกเรียน สามารถนำเสนอได้สามรูปแบบได้แก่
- ปี-เดือน-วันที่ของเดือน
- ปี-สัปดาห์-วันในสัปดาห์
- ปี-วันที่ของปี
- เวลาของวัน นำเสนอโดยใช้
- การรวมวันที่และเวลาของวัน นำเสนอโดยนำเอาวันที่กับเวลามาต่อกันเป็นค่าเวลาเดียว
- ช่วงของเวลา นำเสนอโดยการรวมจุดเริ่มต้น จุดสุดท้าย ระยะเวลา และข้อมูลอื่นที่เป็นบริบท
มาตรฐานนี้กำหนดขึ้นเพื่อตั้งใจให้ใช้งานได้อย่างกว้างขวาง สามารถใช้ได้กับการสื่อสารด้วยวิธีเขียนทั้งหมดที่มีการอ้างอิงถึง วัน เวลา และช่วงเวลา ไม่ว่าสื่อนั้นจะเป็นอะไร (สื่อสิ่งพิมพ์ อิเล็กทรอนิกส์ หรือเขียนด้วยลายมือ) หรือที่อยู่ของผู้ส่งผู้รับอยู่ที่ไหน (ภายในองค์กร ระหว่างองค์กร หรือข้ามประเทศ) การใช้งานมาตรฐานนี้ไม่ได้หมายความว่าจำกัดอยู่เพียงวันเวลาที่ดำเนินการ เก็บบันทึก หรือแสดงผลในคอมพิวเตอร์เท่านั้น แต่ยังใช้ได้กับอุตสาหกรรมทุกประเภทและกิจกรรมของมนุษย์ทุกรูปแบบ ที่ซึ่งการนำเสนอวันเวลาอย่างแม่นยำและไร้ความกำกวมเป็นสิ่งที่จำเป็น เพื่อใช้สื่อสารกันระหว่างประเทศ ระดับชาติ ระดับท้องถิ่น ระดับภายใน หรือแม้แต่ระดับส่วนตัว
มาตรฐานนี้ไม่ได้บังคับหรือห้ามใช้คำแทนสำหรับวันที่ วันที่ในลักษณะคำบรรยายถูกละเว้นเอาไว้จากมาตรฐาน เพราะว่าการใช้งานเฉพาะภาษาส่วนใหญ่อาจทำให้เกิดความติดขัดในการสื่อสารระหว่างประเทศ
หลักการทั่วไป
[แก้]- ค่าของวันที่และเวลาจะถูกจัดอันดับ จากมากที่สุดไปยังน้อยที่สุด นั่นคือ ปี เดือน วันที่ของเดือน ชั่วโมง นาที วินาที และเศษของวินาที การจัดอันดับการนำเสนอเช่นนี้สอดคล้องกับการจัดอันดับตามเวลา เว้นแต่ว่าการนำเสนอนั้นเกี่ยวข้องกับจำนวนปีที่ติดลบ
- ค่าของวันที่และเวลาแต่ละตัว มีจำนวนหลักของเลขโดดที่แน่นอน หากจำนวนหลักไม่ครบให้เติม 0 ข้างหน้าจนครบ
- การนำเสนอสามารถกระทำได้สองรูปแบบ หนึ่งคือ รูปแบบพื้นฐาน โดยใช้เครื่องหมายคั่นน้อยหรือไม่ใช้เลย สองคือ รูปแบบขยาย โดยจะมีเครื่องหมายเพิ่มเติมเข้ามาเพื่อเพิ่มความสามารถในการอ่านโดยมนุษย์ [4] เครื่องหมายคั่นที่ใช้ระหว่างค่าวันที่คือยัติภังค์ (-) และทวิภาค (:) สำหรับค่าเวลา ตัวอย่างเช่น วันที่ 6 มกราคม ค.ศ. 2009 จะเขียนเป็น "20090106" ในรูปแบบพื้นฐานและ "2009-01-06" ในรูปแบบขยาย รูปแบบขยายมักจะเป็นที่นิยมมากกว่ารูปแบบพื้นฐาน ด้วยเหตุผลที่นอกเหนือจากความสามารถในการอ่านแล้ว แต่ยังเป็นเพราะการปรากฏของรูปแบบพื้นฐานบางค่าอาจทำให้เกิดความกำกวม หรือถูกมองว่าไม่เป็นมาตรฐาน
- การลดความเจาะจงของวันเวลา ค่าของตัวเลขสามารถตัดออกจากการนำเสนอวันที่ในรูปแบบใดก็ได้ แต่จะต้องตัดออก จากนัยสำคัญน้อยที่สุดไปมากที่สุด ตัวอย่างเช่น "2004-05" คือวันที่มาตรฐานตาม ISO 8601 หมายถึงเดือนพฤษภาคม ค.ศ. 2004 ไม่ได้หมายถึงวันที่ 5 ของเดือนที่ไม่ทราบใน ค.ศ. 2004
- เมื่อวันเวลาต้องการความแม่นยำมากขึ้น มาตรฐานนี้รองรับการเพิ่ม เศษทศนิยม ไปยังค่าเวลาที่เล็กที่สุดในการนำเสนอนั้น
วันที่
[แก้]มาตรฐานนี้ใช้ปฏิทินเกรโกเรียน ซึ่งเป็นปฏิทินที่ใช้อย่างแพร่หลายมากที่สุดในโลก และเป็นมาตรฐานโดยพฤตินัยสำหรับการค้าระหว่างประเทศ
จุดที่น่าสนใจคือ ISO 8601 ได้ถือเอาวันที่อ้างอิงตามปฏิทินเกรโกเรียนในวันที่ 1875-05-20 เป็นหลัก ซึ่งเป็นวันที่(Convention du Mètre) ได้รับการลงนามในปารีส อย่างไรก็ตาม วันที่ของ ISO ก่อนเกิดสนธิสัญญาจะยังคงเข้ากันได้กับปฏิทินเกรโกเรียน ย้อนไปจนถึงวันที่มีการแนะนำปฏิทินเกรโกเรียนอย่างเป็นทางการเมื่อ 1582-10-15 สำหรับวันที่อยู่ก่อนหน้านั้นจะใช้ตามปฏิทินก่อนเกรโกเรียน (proleptic Gregorian calendar) ซึ่งอาจนำมาใช้ได้โดยมีข้อตกลงร่วมกันในการแลกเปลี่ยนข้อมูล
ปี
[แก้]YYYY | ±YYYYY |
ISO 8601 ได้กำหนดไว้ว่า ให้ใช้ปีคริสต์ศักราชสี่หลัก [YYYY] เพื่อหลีกเลี่ยง
สำหรับการนำเสนอปีที่อยู่ก่อน 0000 หรือหลังจาก 9999 มาตรฐานนี้อนุญาตให้ใช้ส่วนขยายของการนำเสนอปี [±YYYYY] โดยมีข้อตกลงร่วมกันระหว่างผู้ส่งและผู้รับ[5] การนำเสนอปีแบบขยายจะใช้เฉพาะเมื่อมีตัวเลขเกินสี่หลักเท่านั้น และจะต้องนำหน้าด้วยเครื่องหมายบวก (+) หรือลบ (−) เสมอ โดยถือว่าปี 0 เป็นบวก
สัญกรณ์ที่ใช้กับปีก่อนคริสตกาล (BC) จะไม่ถูกนำมาใช้ แต่จะใช้เป็นปีติดลบแทน ตัวอย่างเช่น 3 ปีก่อนคริสตกาล เขียนแทนได้ด้วย −0002 ตัวเลขต่างกันอยู่ 1 เนื่องจากระบบปีก่อนคริสตกาลไม่มีปีที่ศูนย์ ดังนั้นปี 0000 ของ ISO จะหมายถึง 1 ปีก่อนคริสตกาล
วันที่ตามปฏิทิน
[แก้]YYYY-MM-DD | หรือ | YYYYMMDD |
YYYY-MM | (แต่ไม่มี YYYYMM) |
การนำเสนอวันที่ตามปฏิทินมีสองรูปแบบคือรูปแบบขยายกับรูปแบบพื้นฐานดังที่ได้กล่าวไว้แล้ว [YYYY] คือปีคริสต์ศักราชสี่หลัก 0000 ถึง 9999 [MM] คือเลขเดือนสองหลัก 01 ถึง 12 และ [DD] คือวันที่ของเดือนสองหลัก 01 ถึง 31 ตัวอย่างเช่น วันที่ 5 เมษายน ค.ศ. 1981 เขียนแทนได้เป็น "1981-04-05" หรือ "19810405"
มาตรฐานนี้อนุญาตให้วันที่ตามปฏิทินสามารถลดความเจาะจงได้ เช่น "1984-04" หมายถึง เดือนเมษายน ค.ศ. 1984, "1984" หมายถึงปี ค.ศ. 1984, "19" หมายถึงคริสต์ศตวรรษที่ 19
ถึงแม้มาตรฐานอนุญาตให้ใช้รูปแบบ YYYY-MM-DD และ YYYYMMDD เพื่อแสดงวันที่ให้ครบถ้วน แต่ถ้าวันที่ของเดือน [DD] ถูกละเว้นออกไป จะมีเพียงแค่ YYYY-MM เท่านั้นที่สามารถใช้ได้ ไม่อนุญาตให้ใช้ YYYYMM เพื่อหลีกเลี่ยงความสับสนกับรูปแบบวันที่อย่างย่อ YYMMDD ซึ่งก็ยังมีการใช้กันมาก
วันที่ตามสัปดาห์
[แก้]YYYY-Www | หรือ | YYYYWww |
YYYY-Www-D | หรือ | YYYYWwwD |
วันที่ตามสัปดาห์มีรูปแบบการนำเสนอดังที่แสดงไว้ทางขวามือ [YYYY] แสดงปีที่นับตามสัปดาห์ของ ISO ซึ่งจะแตกต่างจากปีปกติตามปฏิทินเล็กน้อย (ดูคำอธิบายข้างล่าง) [Www] คือเลขสัปดาห์สองหลักที่ขึ้นต้นด้วยตัวอักษร W มีค่า W01 ถึง W53 และ [D] คือวันในสัปดาห์โดยเริ่มต้นจากวันจันทร์เท่ากับ 1 ถึงวันอาทิตย์เท่ากับ 7 (วันแรกของสัปดาห์ตาม ISO คือวันจันทร์) รูปแบบนี้เป็นที่นิยมใช้ในอุตสาหกรรมการผลิต
ต่อไปนี้เป็นการอธิบายที่เทียบเท่าร่วมกันของสัปดาห์ที่ 01 ว่าอยู่ที่ใด
- สัปดาห์ที่มีวันพฤหัสบดีแรกของปี (กำหนดโดย ISO) เลขสัปดาห์จึงอาจอธิบายได้ว่าเป็นการนับจำนวนครั้งของวันพฤหัสบดี เช่นสัปดาห์ 12 จะมีวันพฤหัสบดีครั้งที่ 12 ของปีในสัปดาห์นั้น
- สัปดาห์ที่มีวันที่ 4 มกราคม อยู่ในสัปดาห์นั้น
- สัปดาห์ที่มีวันส่วนใหญ่ (ตั้งแต่ 4 วันขึ้นไป) อยู่ในสัปดาห์นั้น
- สัปดาห์ที่เริ่มด้วยวันจันทร์ในช่วงวันที่ 29 ธันวาคม ถึง 4 มกราคม
ดังนั้นหากวันที่ 1 มกราคม ตรงกับวันจันทร์ วันอังคาร วันพุธ หรือวันพฤหัสบดี สัปดาห์จะนั้นเป็นสัปดาห์ที่ 01 ถ้าวันที่ 1 มกราคม ตรงกับวันศุกร์ วันเสาร์ หรือวันอาทิตย์ สัปดาห์นั้นจะยังคงอยู่ในสัปดาห์ที่ 52 หรือ 53 ของปีก่อนหน้า และวันที่ 28 ธันวาคม จะอยู่ในปีก่อนหน้าเสมอ
ปีที่นับตามสัปดาห์ของ ISO จะเริ่มจากวันแรก (วันจันทร์) ของสัปดาห์ที่ 01 ไปจนสิ้นสุดวันอาทิตย์ที่อยู่ก่อนวันแรกของปีถัดไป ทำให้มีสัปดาห์เต็ม 7 วันเป็นจำนวน 52 หรือ 53 สัปดาห์ โดยไม่มีช่วงทับซ้อนหรือเว้นว่าง การนับปีตามสัปดาห์ของ ISO จะเบี่ยงเบนไปจากปีตามปฏิทินเกรโกเรียนโดยปกติ ในวันศุกร์-เสาร์-อาทิตย์, หรือวันเสาร์-อาทิตย์, หรือเฉพาะวันอาทิตย์ ของจุดเริ่มต้นของปีปฏิทิน (ซึ่ง ISO จะถือว่าอยู่ในปีก่อนหน้า) และในวันจันทร์-อังคาร-พุธ, หรือวันจันทร์-อังคาร, หรือเฉพาะวันจันทร์ ของจุดสิ้นสุดของปีปฏิทิน (ซึ่ง ISO จะถือว่าอยู่ในสัปดาห์ที่ 01 ของปีใหม่) สำหรับวันพฤหัสบดี ปีปฏิทินและปีตาม ISO จะตรงกันเสมอ ตัวอย่างเช่น
- 2008-12-29 เขียนแทนได้เป็น "2009-W01-1" (วันจันทร์)
- 2010-01-03 เขียนแทนได้เป็น "2009-W53-7" (วันอาทิตย์)
ในสหรัฐอเมริกาใช้ระบบวันอาทิตย์ถึงวันเสาร์เป็นหนึ่งสัปดาห์ และมีสัปดาห์บางส่วนที่ไม่เต็ม 7 วันที่จุดเริ่มต้นและจุดสิ้นสุดของปี ข้อดีของการทำเช่นนี้คือไม่ต้องมีการปรับเลขปีเหมือนเช่นปีที่นับตามสัปดาห์ของ ISO ในขณะที่การจัดอันดับนัยสำคัญที่สอดคล้องกันก็ยังคงมีอยู่
วันที่ของปี
[แก้]YYYY-DDD | หรือ | YYYYDDD |
วันที่เชิงอันดับ (ordinal date) เป็นรูปแบบอย่างง่ายในโอกาสเมื่อการนิยามสัปดาห์และเดือนเป็นอุปสรรคมากกว่าที่จะช่วยเหลือ เช่นเมื่อต้องการเปรียบเทียบวันที่จากระบบปฏิทินที่ต่างกัน จากรูปแบบการนำเสนอ [YYYY] หมายถึงปีคริสต์ศักราชสี่หลัก และ [DDD] คือวันที่ของปีนั้นสามหลัก มีค่า 001 ถึง 365 (หรือ 366 ในปีอธิกสุรทิน) ตัวอย่างเช่น 1981-04-05 เขียนแทนได้เป็น "1981-095" หมายถึงวันที่ 95 ของปี ค.ศ. 1981
รูปแบบนี้ใช้เฉพาะกับระบบฮาร์ดแวร์อย่างง่ายที่ต้องการมีระบบวันที่ แต่ไม่สามารถบรรจุซอฟต์แวร์คำนวณปฏิทินอย่างเต็มรูปแบบซึ่งอาจก่อให้เกิดความยุ่งยาก บางครั้งระบบนี้ถูกทึกทักเอาว่าเป็นวันที่จูเลียน (Julian date) ซึ่งความจริงไม่ใช่ เพราะวันที่จูเลียนคือจำนวนวันที่ผ่านมานับตั้งแต่ 1 มกราคม 4713 ปีก่อนคริสตกาล ณ เวลาเที่ยงวันที่กรีนิช ในปฏิทินก่อนจูเลียน
เวลา
[แก้]hh:mm:ss | หรือ | hhmmss |
hh:mm | หรือ | hhmm |
hh |
ISO 8601 ใช้ระบบ รูปแบบพื้นฐานคือ [hh][mm][ss] และรูปแบบขยายคือ [hh]:[mm]:[ss]
- [hh] คือชั่วโมงสองหลัก มีค่า 00 ถึง 24 (ค่า 24 จะใช้เมื่อเวลาเที่ยงคืนเป็นจุดสิ้นสุดของวันเท่านั้น)
- [mm] คือนาทีสองหลัก มีค่า 00 ถึง 59
- [ss] คือวินาทีสองหลัก มีค่า 00 ถึง 60 (ค่า 60 จะใช้เมื่อมีการเพิ่มอธิกวินาทีเท่านั้น)
ดังนั้นเวลา 13 นาฬิกา 47 นาที 30 วินาที จึงเขียนได้เป็น "134730" หรือ "13:47:30"
ค่าของเวลาสามารถลดความเจาะจงได้จากหน่วยที่มีนัยสำคัญน้อยกว่าขึ้นมา เมื่อละวินาทีจะเหลือเพียง [hh]:[mm] หรือ [hh][mm] และเมื่อละนาทีจะเหลือเพียง [hh]
เวลาเป็นกรณีพิเศษที่สามารถอ้างถึงได้ด้วย 00:00 หรือ 24:00 ก็ได้ รูปแบบ 00:00 จะใช้เพื่อบอกว่าเป็นจุดเริ่มต้นของวัน ซึ่งเป็นการใช้ที่บ่อยกว่า ในขณะที่จุดสิ้นสุดของวันจะใช้เป็น 24:00 ดังนั้น "2007-04-05T24:00" จึงเป็นเวลาเดียวกันกับ "2007-04-06T00:00" ต่างกันแค่ความหมายที่สื่อออกมา (ดูเพิ่มที่หัวข้อการรวมวันที่และเวลา)
เศษทศนิยมสามารถใช้ได้กับค่าเวลาส่วนใดก็ได้ จุดทศนิยมไม่ว่าจะเป็นจุลภาค (,) หรือมหัพภาค (.) สามารถใช้แบ่งเศษทศนิยมได้เช่นกัน แต่เศษทศนิยมควรเพิ่มลงไปเฉพาะในส่วนที่มีนัยสำคัญน้อยที่สุดเท่านั้น ตัวอย่างเช่นเวลา 14 ชั่วโมง 30 นาทีครึ่ง สามารถแสดงโดยไม่ใช้เลขวินาทีเป็น "14:30,5" หรือ "1430,5" ไม่มีข้อจำกัดว่าจะต้องเป็นทศนิยมกี่ตำแหน่ง อย่างไรก็ตามก็ต้องมีข้อตกลงร่วมกันระหว่างกลุ่มผู้สื่อสารก่อนว่าต้องการใช้ทศนิยมกี่หลัก สำหรับการใช้จุดอาจทำให้เกิดความสับสนเมื่อใช้กับเลขชั่วโมงหรือนาที ซึ่งจะทำให้เข้าใจผิดว่าตัวเลขหลังจุดเป็นเลขนาทีหรือวินาทีตามลำดับ เช่น "14:30.50" เลขวินาทีของเวลานี้เทียบเท่ากับ 30 วินาที (ครึ่งนาที) ไม่ใช่ 50 วินาทีอย่างที่เห็น
ตัวกำหนดเขตเวลา
[แก้]<เวลา>Z | ||
<เวลา>±hh:mm | หรือ | <เวลา>±hhmm |
<เวลา>±hh |
ถ้าหากไม่มีการระบุเขตเวลา (time zone) ในการนำเสนอเวลา ข้อมูลนั้นจะถูกสมมติว่าเป็นเวลาท้องถิ่น ซึ่งอาจไม่ส่งผลกระทบอะไรเมื่อใช้สื่อสารกันภายในเขตเวลาเดียวกัน แต่จะเกิดความกำกวมเมื่อสื่อสารข้อมูลข้ามเขตเวลา การระบุตัวกำหนดเขตเวลาจึงเป็นสิ่งที่ควรทำเมื่อใช้สัญกรณ์มาตรฐาน
ถ้าเวลานั้นอยู่ในเวลาสากลเชิงพิกัด (UTC) เพียงแค่เพิ่มตัวอักษร Z ลงไปโดยไม่เว้นวรรคหลังจากค่าเวลา ซึ่ง Z คือตัวกำหนดเขตเวลาที่เยื้องจากเวลาสากลเชิงพิกัดเป็นศูนย์ ดังนั้นเวลา 09:30 UTC จึงเขียนได้เป็น "09:30Z" หรือ "0930Z" และเวลา 14:45:15 UTC เขียนเป็น "14:45:15Z" หรือ "144515Z" เวลาสากลเชิงพิกัดถูกเรียกอีกอย่างว่าเป็นเวลา "ซูลู" (Zulu) เพราะคำว่า "ซูลู" เป็นรหัสวิทยุของอักษร Z
การกำหนดเขตเวลาอื่น ๆ สามารถทำได้โดยระบุความเยื้องจากเวลาสากลเชิงพิกัดในรูปแบบ ±[hh]:[mm], ±[hh][mm], หรือ ±[hh] ต่อท้ายค่าเวลาเหมือนวิธีของการเติม Z เช่นเขตเวลาที่มากกว่าเวลาเชิงพิกัดสากลอยู่เจ็ดชั่วโมง (กรุงเทพมหานคร) ตัวกำหนดเขตเวลาเขียนเป็น "+07:00", "+0700", หรือเพียงแค่ "+07" โปรดสังเกตว่าตัวกำหนดเขตเวลานี้คือความเยื้องจากเวลาสากลเชิงพิกัดที่แท้จริง และไม่ได้บ่งบอกข้อมูลเรื่องเวลาออมแสง (daylight saving time) ดังนั้นในเมืองชิคาโก จะมีเขตเวลาเป็น −06:00 ในฤดูหนาวและ −05:00 ในฤดูร้อน ตัวอย่างค่าเวลาต่อไปนี้หมายถึงเวลาเดียวกัน ณ ขณะนั้น "18:30Z", "22:30+04", "1130−0700", และ "15:00−03:30" สำหรับ(nautical time) อักษรแทนเขตเวลาจะไม่มีการนำมาใช้ ยกเว้นอักษร Z
การรวมวันที่และเวลา
[แก้]<วันที่>T<เวลา> | <วันที่>T<เวลา>Z |
การนำเสนอวันที่และเวลารวมกันเป็นการนำเสนอจุดหนึ่งของเวลาจริง ใช้รูปแบบ <วันที่>T<เวลา> โดยที่ตัวอักษร T คือตัวกำหนดเวลา ใช้แสดงว่าหลังจากตัวอักษรนี้จะเป็นจุดเริ่มต้นของค่าเวลา องค์ประกอบวันที่และเวลาที่นำมารวมกันต้องมีรูปแบบมาตรฐานอย่างใดอย่างหนึ่งที่เข้ากันได้ตามที่อธิบายไว้แล้วข้างบน ตัวอย่างเช่น "2007-04-05T14:30" คือรูปแบบส่วนขยาย [YYYY]-[MM]-[DD]T[hh]:[mm] หรืออีกตัวอย่างหนึ่ง "20090621T0545Z" คือรูปแบบพื้นฐาน [YYYY][MM][DD]T[hh][mm]Z เป็นต้น
การนำเสนอโดยรวมของวันที่และเวลานี้สามารถใช้บันทึกเหตุการณ์ที่เกี่ยวข้องกับวันเวลา เช่นการรับส่งอีเมล ธุรกรรมทางการเงิน เวลาเริ่มต้นในการรักษาทางการแพทย์ หรือแม้แต่ใช้อ้างถึงการเกิดปรากฏการณ์ทางธรรมชาติ การนำเสนอนี้สามารถรวมกับช่วงของเวลาดังที่จะได้กล่าวต่อไป
องค์ประกอบวันที่และเวลาอาจปรากฏว่าอยู่ติดกันในแต่ละตัว บ่อยครั้งที่แยกด้วยเว้นวรรคหรือบางครั้งก็คั่นด้วยอักษรตัวอื่น ในกรณีเช่นนี้ค่าของวันที่และเวลาจะถือว่าเป็นฟีลด์ที่แยกกันในระบบข้อมูล มากกว่าที่จะเป็นการนำเสนอในฟีลด์เดียวกัน สิ่งนี้ก็เพื่อความสามารถในการอ่านโดยมนุษย์ จากตัวอย่างก่อนหน้านี้ "2007-04-05 14:30" จะถือว่าเป็นการนำเสนอสองฟีลด์แยกกันนั่นคือวันที่ 2007-04-05 กับเวลา 14:30 แต่ก็เป็นที่ยอมรับได้ และคงเหลือไว้ให้ผู้อ่านนำไปแปลผลว่าทั้งสองฟีลด์เป็นการนำเสนอจุดเวลาเดียวโดยขึ้นอยู่กับบริบท
ระยะเวลา
[แก้]PnYnMnDTnHnMnS |
PnW |
P<วันที่>T<เวลา> |
ระยะเวลาเป็นส่วนประกอบหนึ่งของช่วงเวลา และนิยามเป็นจำนวนเวลาที่ผ่านไปในช่วงเวลาหนึ่ง ๆ ระยะเวลานี้ควรใช้เป็นส่วนหนึ่งของช่วงเวลาตามที่กำหนดไว้ในมาตรฐานเท่านั้น เรื่องของช่วงเวลาจะอธิบายในหัวข้อถัดไป
ระยะเวลานำเสนอโดยใช้รูปแบบ P[n]Y[n]M[n]DT[n]H[n]M[n]S หรือ P[n]W ในการนำเสนอเหล่านี้ [n] จะถูกแทนที่ด้วยค่าของวันและเวลาตามชนิดของตัวอักษรที่ตามหลัง กรณีนี้การใส่ 0 นำหน้าไม่จำเป็นต้องใช้ แต่จำนวนหลักมากที่สุดที่สามารถจะใส่ได้ต้องมีการตกลงร่วมกันระหว่างกลุ่มผู้สื่อสาร อักษรตัวใหญ่ P, Y, M, W, D, T, H, M, และ S คือตัวกำหนดขององค์ประกอบวันที่และเวลาแต่ละประเภทและจะไม่ถูกแทนที่
- P คือตัวกำหนดระยะเวลา (แต่ก่อนเรียกว่า period ปัจจุบันใช้ duration) ซึ่งวางไว้ที่จุดเริ่มต้นของการนำเสนอระยะเวลา
- Y คือตัวกำหนดปี ซึ่งตามหลังค่าสำหรับจำนวนปี
- M คือตัวกำหนดเดือน ซึ่งตามหลังค่าสำหรับจำนวนเดือน
- W คือตัวกำหนดสัปดาห์ ซึ่งตามหลังค่าสำหรับจำนวนสัปดาห์
- D คือตัวกำหนดวัน ซึ่งตามหลังค่าสำหรับจำนวนวัน
- T คือตัวกำหนดเวลา ซึ่งจะนำหน้าองค์ประกอบเวลาในการนำเสนอ
- H คือตัวกำหนดชั่วโมง ซึ่งตามหลังค่าสำหรับจำนวนชั่วโมง
- M คือตัวกำหนดนาที ซึ่งตามหลังค่าสำหรับจำนวนนาที (จะเห็นว่าซ้ำกับตัวกำหนดเดือน)
- S คือตัวกำหนดวินาที ซึ่งตามหลังค่าสำหรับจำนวนวินาที
ตัวอย่างเช่น "P3Y6M4DT12H30M5S" หมายถึงการนำเสนอระยะเวลา 3 ปี 6 เดือน 4 วัน 12 ชั่วโมง 30 นาที 5 วินาที องค์ประกอบของวันที่และเวลารวมทั้งตัวกำหนดต่าง ๆ สามารถละเว้นไปได้ถ้าค่าของมันมีค่าเป็นศูนย์ และองค์ประกอบที่มีนัยสำคัญน้อยกว่าสามารถละเว้นเพื่อลดความเจาะจงของระยะเวลา เช่น "P23DT23H" และ "P4D" ต่างก็เป็นการนำเสนอระยะเวลาที่ยอมรับได้
อักษร M ปรากฏอยู่สองตำแหน่งในการนำเสนอ เพื่อที่จะลดความสับสนว่าหมายถึงเดือนหรือนาที ให้ดูที่อักษร T ซึ่งเป็นตัวกำหนดที่อยู่หน้าค่าเวลา ถ้า M อยู่ถัดจาก T แสดงว่าเป็นค่านาที เช่น "PT1M" คือระยะเวลา 1 นาที ต่างจาก "P1M" หมายถึงระยะเวลา 1 เดือน หน่วยที่เล็กที่สุดในการนำเสนอสามารถใช้เศษทศนิยมได้ เช่น "P0.5Y" หมายถึงระยะเวลาครึ่งปี มาตรฐานนี้ไม่ได้ห้ามให้ใช้ค่าของวันและเวลาที่เกินกว่าจุดทด เช่น "PT36H" สามารถใช้ได้และมีความหมายเหมือนกับ "P1DT12H" ยกเว้นอีกรูปแบบหนึ่งดังที่จะกล่าวต่อไป
ระยะเวลาสามารถแสดงได้อีกรูปแบบหนึ่งโดยใช้การนำเสนอการรวมวันที่และเวลาโดยมีข้อตกลงร่วมกัน ด้วยรูปแบบพื้นฐาน PYYYYMMDDThhmmss หรือรูปแบบขยาย P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss] จากตัวอย่างแรกสุดจึงสามารถเขียนได้เป็น "P0003-06-04T12:30:05" อย่างไรก็ตามการนำเสนอเช่นนี้ แต่ละส่วนไม่สามารถใส่ค่าเกินว่าจุดทดหรือค่าที่สามารถเป็นไปได้ เช่นการใส่ 13 เดือนหรือ 25 ชั่วโมงเป็นสิ่งที่ไม่อนุญาตสำหรับรูปแบบนี้
ช่วงเวลา
[แก้]<จุดเริ่มต้น>/<จุดสิ้นสุด> |
<จุดเริ่มต้น>/<ระยะเวลา> |
<ระยะเวลา>/<จุดสิ้นสุด> |
<ระยะเวลา> |
ช่วงเวลาหมายถึงจำนวนเวลาที่ผ่านไประหว่างจุดเวลาสองจุด จำนวนเวลาจะแสดงโดยระยะเวลา (ดังเช่นที่กล่าวไว้ในหัวข้อที่แล้ว) ส่วนจุดเวลาสองจุดนั้นจะนำเสนอโดยการรวมวันที่และเวลา หรือวันที่อย่างเดียวอย่างใดอย่างหนึ่ง ดังนั้นจึงมีสี่แนวทางในการนำเสนอช่วงเวลา ได้แก่
- จุดเริ่มต้นและจุดสิ้นสุด เช่น "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
- จุดเริ่มต้นและระยะเวลา เช่น "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
- ระยะเวลาและจุดสิ้นสุด เช่น "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
- ระยะเวลาอย่างเดียว เช่น "P1Y2M10DT2H30M" โดยมีข้อมูลบริบทประกอบเพิ่มเติม
จากรูปแบบเหล่านี้ สามแนวทางแรกจำเป็นต้องมีการแบ่งโดยใช้ตัวกำหนดช่วงเวลาคือเครื่องหมายทับ (/) หรือ(⁄) (เครื่องหมายแยกเศษส่วน) ในการใช้งานเฉพาะอย่าง ยัติภังค์สองตัว (--) ก็สามารถใช้เป็นตัวแบ่งได้แทนเครื่องหมายทับ (ดูเพิ่มที่ส่วน 4.4.2 ของเอกสารมาตรฐาน)
สำหรับการแสดงผลแบบ <จุดเริ่มต้น>/<จุดสิ้นสุด> ถ้าองค์ประกอบใด ๆ ของจุดสิ้นสุดไม่ปรากฏ จะถือว่าองค์ประกอบนั้นมีค่าเหมือนกับจุดเริ่มต้น รวมทั้งเขตเวลาด้วย คุณลักษณะของมาตรฐานนี้ทำให้การนำเสนอช่วงเวลาสั้นกระชับมากขึ้น ตัวอย่างเช่น การประชุมสองชั่วโมง (ในวันเดียวกัน) โดยระบุเวลาเริ่มต้นและสิ้นสุดสามารถเขียนเป็น "2007-12-14T13:30/15:30" หรือการระบุวันที่เริ่มต้นและสิ้นสุดในใบแจ้งค่าใช้จ่ายประจำเดือนเป็น "2008-02-15/03-14" เป็นต้น
ถ้าหากความแม่นยำที่เพิ่มขึ้นเป็นที่ต้องการสำหรับช่วงเวลา การนำเสนอสามารถเพิ่มองค์ประกอบของเวลาลงไปอีกได้ เช่นการสังเกตการณ์ที่มีระยะเวลาประมาณสามวันนำเสนอไว้อย่างสั้นว่า "2007-11-13/15" ถ้าจุดเริ่มต้นและจุดสิ้นสุดของการสังเกตการณ์จำเป็นต้องใช้เวลาที่แน่นอนเพื่อจุดประสงค์ของการวัดและการบันทึก การนำเสนอช่วงเวลาดังกล่าวจึงสามารถเพิ่มเติมได้เป็น "2007-11-13T00:00/15T24:00"
ช่วงเวลาทำซ้ำ
[แก้]Rnn/<ช่วงเวลา> | R/<ช่วงเวลา> |
ช่วงเวลาทำซ้ำมีการระบุไว้ในส่วน 4.5 ของเอกสารมาตรฐาน มีรูปแบบการเขียนโดยเพิ่ม "R[n]/" ลงไปที่ข้างหน้าสุดของการนำเสนอช่วงเวลา เมื่อ [n] คือจำนวนครั้งที่เกิดการทำซ้ำ (ไม่จำเป็นต้องใส่ 0 นำหน้า) ถ้าหากไม่ใส่ค่า [n] ก็จะหมายความว่าไม่จำกัดจำนวนการทำซ้ำ ดังนั้นการทำซ้ำด้วยระยะเวลา "P1Y2M10DT2H30M" เป็นจำนวนห้าครั้ง เริ่มตั้งแต่ "2008-03-01T13:00:00Z" จะเขียนได้ว่า "R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M"
การนำเสนออย่างย่อ
[แก้]ISO 8601:2000 ได้อนุญาตให้มีการนำเสนออย่างย่อ (โดยมีข้อตกลงร่วมกัน) ซึ่งจะทำให้องค์ประกอบที่อยู่นำหน้า (ทางซ้าย) ของวันที่หรือเวลาถูกละเว้นไว้ จึงทำให้สามารถใช้เลขปีสองหลักในรูปแบบ YY-MM-DD และ YYMMDD แต่ก็ทำให้เกิดความกำกวม แนวคิดนี้จึงถูกยกเลิกไปใน ISO 8601:2004
อ้างอิง
[แก้]- ↑ Technical Committee ISO/TC 154, Processes, data elements and documents in commerce, industry and administration. (2004-12-01). "ISO 8601:2004 (E)". ISO. เก็บจากแหล่งเดิมเมื่อ 2008-05-13. สืบค้นเมื่อ 2008-06-08.
Annex A … From that concept representations of all other date and time values were logically derived; thus, ISO 2014, ISO 3307 and ISO 4031 have been superseded. … Identification of a particular date by means of ordinal dates (ISO 2711) and by means of the week numbering system (ISO 2015) were alternative methods that the basic concept of this International Standard could also encompass; thus, ISO 2015 and ISO 2711 have now been superseded.
{{cite web}}
: CS1 maint: multiple names: authors list (ลิงก์) - ↑ ISO 8601:2004(E). ISO. 2004-12-01. p. iv Foreword.
- ↑ "TC 154 Processes, data elements and documents in commerce, industry and administration". Technical committees. ISO. เก็บจากแหล่งเดิมเมื่อ 2016-05-25. สืบค้นเมื่อ 2014-08-16.
- ↑ Numeric representation of Dates and Time
- ↑ Technical Committee ISO/TC 154, Processes, data elements and documents in commerce, industry and administration. (2004-12-01). "ISO 8601:2004 (E)". ISO. สืบค้นเมื่อ 2008-06-08.
3.5 Expansion … By mutual agreement of the partners in information interchange, it is permitted to expand the component identifying the calendar year, which is otherwise limited to four digits. This enables reference to dates and times in calendar years outside the range supported by complete representations, i.e. before the start of the year [0000] or after the end of the year [9999].
{{cite web}}
: CS1 maint: multiple names: authors list (ลิงก์)
แหล่งข้อมูลอื่น
[แก้]- ISO 8601 ที่เว็บไซต์ Curlie
- ISO 8601:2004 (E) from ISO (zip-pdf, 228KB)
- ISO 8601 summary by Markus Kuhn
- Summary of 8601 by ISO
- Technical Committee ISO/TC 154, Processes, data elements and documents in commerce, industry and administration.
- The Mathematics of the ISO 8601 Calendar
- W3C Specification about UTC Date and Time and IETF RFC 3339, based on ISO 8601