Iso 8601

ISO 8601 adalah standar internasional yang mencakup pertukaran dan komunikasi data terkait tanggal dan waktu di seluruh dunia.

Standar ini dikelola oleh Organisasi Standardisasi Internasional (ISO) yang berbasis di Jenewa dan pertama kali diterbitkan pada tahun 1988, dengan pembaruan pada tahun 1991, 2000, 2004, dan 2019. Standar ini menyediakan metode yang terdefinisi dengan baik dan tidak ambigu untuk merepresentasikan tanggal dan waktu kalender dalam komunikasi di seluruh dunia, terutama untuk menghindari salah tafsir tanggal dan waktu numerik ketika data tersebut ditransfer antar negara dengan konvensi yang berbeda untuk menulis tanggal dan waktu numerik.

Tanggal dan waktu saat ini dinyatakan menurut ISO 8601 [refresh]
Tanggal2024-04-22
Tanggal dan waktu dalam UTC2024-04-22T13:10:16+00:00
2024-04-22T13:10:16Z
20240422T131016Z
Minggu2024-W17
Minggu dengan hari kerja2024-W17-1
Tanggal ordinal2024-113

ISO 8601 berlaku untuk representasi-representasi dan format-format berikut: tanggal, dalam kalender Gregorius (termasuk kalender Gregorius proleptik); waktu, berdasarkan sistem ketepatan waktu 24 jam (dengan offset UTC opsional); interval waktu; dan kombinasinya. Standar ini tidak memberikan arti khusus untuk setiap elemen tanggal/waktu yang diwakili: arti elemen apa pun tergantung pada konteks penggunaannya. Tanggal dan waktu yang direpresentasikan tidak dapat menggunakan kata-kata yang tidak memiliki arti numerik tertentu dalam standar (dengan demikian tidak memasukkan nama-nama tahun dalam kalender Cina), atau yang tidak menggunakan karakter komputer (tidak memasukkan gambar atau suara).

Dalam representasi yang mematuhi standar pertukaran ISO 8601, tanggal dan waktu diatur sedemikian rupa sehingga satuan temporal terbesar (biasanya satu tahun) ditempatkan di sebelah kiri, dan setiap satuan yang lebih rendah secara berturut-turut ditempatkan di sebelah kanan satuan sebelumnya. Representasi harus ditulis dalam kombinasi angka Arab dan karakter komputer tertentu (seperti "-", ":", "T", "W", "Z") yang diberi arti khusus dalam standar. Deskriptor tanggal yang umum (atau bagian dari tanggal) seperti "Januari", "Kamis", atau "Hari Tahun Baru" tidak diperbolehkan dalam representasi pertukaran dalam standar.

Sejarah

Edisi pertama standar ISO 8601 diterbitkan sebagai ISO 8601:1988 pada tahun 1988. Standar ini menyatukan dan menggantikan sejumlah standar ISO yang lebih lama pada berbagai aspek notasi tanggal dan waktu: ISO 2014, ISO 2015, ISO 2711, ISO 3307, dan ISO 4031. Standar ini selanjutnya digantikan oleh edisi kedua ISO 8601:2000 pada tahun 2000, oleh edisi ketiga ISO 8601:2004 yang diterbitkan pada tanggal 1 Desember 2004, kemudian ditarik dan direvisi oleh ISO 8601-1:2019 dan ISO 8601-2:2019 pada 25 Februari 2019. ISO 8601 disiapkan oleh, dan berada di bawah tanggung jawab langsung Komite Teknis ISO TC 154.

ISO 2014, meskipun telah digantikan, adalah standar yang awalnya memperkenalkan notasi tanggal semua-numerik dalam urutan yang paling signifikan [YYYY]-[MM]-[DD]. Sistem penomoran minggu ISO diperkenalkan dalam ISO 2015, dan identifikasi hari berdasarkan tanggal ordinal awalnya didefinisikan dalam ISO 2711.

Dikeluarkan pada bulan Februari 2019, revisi keempat dari standar ISO 8601-1:2019 mewakili konten yang diperbarui dari standar ISO 8601:2004 sebelumnya, sedangkan ISO 8601-2:2019 yang baru mendefinisikan berbagai ekstensi seperti ketidakpastian dan bagian-bagian dari Extended Date/Time Format (EDTF).

Sejarah dari edisi yang dipublikasikan
Nama Deskripsi
ISO 8601:1988 Elemen data dan format pertukaran — Pertukaran informasi — Representasi tanggal dan waktu
ISO 8601:1988/COR 1:1991 Elemen data dan format pertukaran — Pertukaran informasi — Representasi tanggal dan waktu — Koreksi Teknis 1
ISO 8601:2000 Elemen data dan format pertukaran — Pertukaran informasi — Representasi tanggal dan waktu
ISO 8601:2004 Elemen data dan format pertukaran — Pertukaran informasi — Representasi tanggal dan waktu
ISO 8601-1:2019 Tanggal dan waktu — Representasi untuk pertukaran informasi — Bagian 1: Aturan dasar
ISO 8601-2:2019 Tanggal dan waktu — Representasi untuk pertukaran informasi — Bagian 2: Ekstensi

Prinsip-prinsip umum

  • Nilai tanggal dan waktu diurutkan dari satuan waktu terbesar hingga terkecil: tahun, bulan (atau minggu), hari, jam, menit, detik, dan pecahan detik. Dengan demikian, urutan leksikografik dari representasi akan sesuai dengan urutan kronologis, kecuali untuk representasi tanggal yang melibatkan tahun negatif atau offset waktu. Hal ini memungkinkan tanggal diurutkan secara alami oleh, misalnya, sistem berkas.
  • Setiap nilai tanggal dan waktu memiliki jumlah digit tetap, yang harus diisi dengan angka nol di depannya jika jumlah digit pada tanggal/waktu kurang dari jumlah digit tetap.
  • Representasi dapat dilakukan dalam salah satu dari dua format: format dasar dengan jumlah pemisah minimal, atau format yang diperluas dengan pemisah yang ditambahkan untuk meningkatkan keterbacaan oleh manusia. Standar mencatat bahwa penggunaan "format dasar harus dihindari dalam teks biasa." Pemisah yang digunakan di antara nilai tanggal (tahun, bulan, minggu, dan hari) adalah tanda hubung, sedangkan titik dua digunakan sebagai pemisah antara nilai waktu (jam, menit, dan detik). Sebagai contoh, hari ke-6 dari bulan pertama tahun 2009 dapat ditulis sebagai 2009-01-06 dalam format yang diperluas atau hanya sebagai 20090106 dalam format dasar tanpa ambiguitas.
  • Untuk mengurangi presisi, sejumlah nilai dapat dihilangkan dari representasi tanggal dan waktu, tetapi dalam urutan dari yang paling sedikit hingga yang paling signifikan. Misalnya, 2004-05 adalah tanggal ISO 8601 yang valid, yang menunjukkan Mei (bulan kelima) 2004. Format ini tidak akan pernah mewakili hari ke-5 dari bulan yang tidak ditentukan pada tahun 2004, juga tidak akan mewakili rentang waktu yang membentang dari tahun 2004 hingga 2005.
  • Jika diperlukan untuk penerapan tertentu, standar mendukung penambahan pecahan desimal ke nilai waktu terkecil dalam representasi.

Tanggal

April 2024
Mgu Sn Sl Rb Km Jm Sb Mg
(14) 1 2 3 4 5 6 7
(15) 8 9 10 11 12 13 14
(16) 15 16 17 18 19 20 21
(17) 22 23 24 25 26 27 28
(18) 29 30 1 2 3 4 5

Standar ini menggunakan kalender Gregorius, yang "berfungsi sebagai standar internasional untuk penggunaan sehari-hari."

ISO 8601:2004 menetapkan tanggal kalender referensi ke 20 Mei 1875 kalender Gregorian sebagai tanggal Convention du Mètre (Konvensi Meter) yang ditandatangani di Paris (tanggal referensi eksplisit telah dihapus dalam ISO 8601-1:2019). Namun, tanggal kalender ISO sebelum konvensi masih kompatibel dengan kalender Gregorian hingga pengenalan resmi kalender Gregorian pada 15 Oktober 1582.

Tanggal sebelumnya, dalam kalender Gregorius proleptik, dapat digunakan berdasarkan kesepakatan bersama dari mitra yang bertukar informasi. Standar menyatakan bahwa setiap tanggal harus berurutan, sehingga penggunaan kalender Julian akan bertentangan dengan standar (karena pada tanggal peralihan, tanggal tidak akan berurutan).

Tahun

YYYY
±YYYYY

ISO 8601 menetapkan tahun ditulis (minimal) dalam empat digit [YYYY] untuk menghindari masalah tahun 2000. Oleh karena itu, standar ini mewakili tahun-tahun dari 0000 hingga 9999, tahun 0000 sama dengan 1 SM (Sebelum Masehi) dan yang lainnya Masehi. Namun, tahun-tahun sebelum 1583 tidak secara otomatis diizinkan oleh standar. Sebaliknya, "nilai dalam rentang [0000] hingga [1582] hanya akan digunakan dengan kesepakatan bersama dari mitra dalam pertukaran informasi."

Untuk mewakili tahun sebelum 0000 atau setelah 9999, standar juga mengizinkan perluasan representasi tahun tetapi hanya dengan kesepakatan sebelumnya antara pengirim dan penerima. Representasi tahun yang diperluas YYYYY] harus memiliki jumlah digit tahun ekstra yang disepakati di luar empat digit minimum, dan harus diawali dengan tanda + atau -, alih-alih notasi SM/M (atau AD/BC) yang lebih umum; dengan konvensi 1 SM diberi label +0000, 2 SM diberi label -0001, dan seterusnya.

Tanggal kalender

YYYY-MM-DD atau YYYYMMDD
YYYY-MM (bukan YYYYMM)
Hanya diperbolehkan dalam versi 2000 (sudah usang):
--MM-DD atau --MMDD

Representasi tanggal kalender dalam bentuk yang ditunjukkan dalam tabel disamping. [YYYY] mengindikasikan tahun empat-digit, 0000 hingga 9999. [MM] mengindikasikan bulan dua-digit pada tahun itu, 01 sampai 12. [DD] mengindikasikan hari dua-digit pada bulan itu, 01 hingga 31. Misalnya, "5 April 1981" dapat direpresentasikan sebagai "1981-04-05" dalam format yang diperluas atau "19810405" dalam format dasar.

Standar ini juga memungkinkan tanggal kalender ditulis dengan presisi yang dikurangi. Misalnya, seseorang dapat menulis "1981-04" yang berarti "1981 April". Seseorang dapat dengan mudah menulis "1981" untuk merujuk pada tahun itu, "198" untuk merujuk pada dekade dari 1980 hingga 1989 inklusif, atau "19" untuk merujuk pada abad dari 1900 hingga 1999 inklusif. Meskipun standar mengizinkan format "YYYY-MM-DD" dan YYYYMMDD untuk representasi tanggal kalender lengkap, jika hari [DD] dihilangkan maka hanya format YYYY-MM yang diperbolehkan. Dengan melarang tanggal dalam bentuk YYYYMM, standar menghindari kebingungan/ambiguitas dengan representasi terpotong YYMMDD (masih sering digunakan). Versi 2000 juga mengizinkan penulisan pemotongan "--04-05" yang berarti "5 April" tetapi standar edisi 2004 tidak mengizinkan penghilangan tahun ketika ada bulan.

Hari kerja

YYYY-Www or YYYYWww
YYYY-Www-D or YYYYWwwD

Representasi tanggal minggu dalam format seperti yang ditunjukkan dalam tabel disamping. [YYYY] menunjukkan tahun penomoran minggu ISO yang sedikit berbeda dari tahun kalender Gregorius tradisional. [Www] adalah nomor minggu yang diawali dengan huruf W, dari W01 sampai W53. [D] adalah nomor hari kerja, dari 1 sampai 7, dimulai dengan hari Senin dan diakhiri dengan hari Minggu. Ada beberapa deskripsi yang saling setara dan kompatibel dari minggu 01:

  • Minggu dengan hari kerja pertama di tahun awal (mengingat bahwa hari Sabtu, Minggu dan 1 Januari adalah hari non-kerja),
  • Minggu dengan hari Kamis pertama tahun awal di dalamnya (definisi ISO formal),
  • Minggu dengan tanggal 4 Januari di dalamnya,
  • Minggu pertama dengan mayoritas (empat atau lebih) dari hari-harinya di tahun awal, dan
  • Minggu yang dimulai dengan hari Senin dalam periode 29 Desember - 4 Januari.

Sebagai konsekuensinya, jika 1 Januari jatuh pada hari Senin, Selasa, Rabu atau Kamis, itu berada di minggu 01. Jika tanggal 1 Januari jatuh pada hari Jumat, Sabtu atau Minggu, itu adalah minggu ke-52 atau ke-53 dari tahun sebelumnya (tidak ada minggu ke 00). Tanggal 28 Desember selalu berada di minggu terakhir dalam satu tahun.

Nomor minggu dapat ditentukan dengan menghitung hari Kamis: minggu ke-12 berisi hari Kamis ke-12 dalam setahun.

Tahun penomoran minggu ISO dimulai pada hari pertama (Senin) pada minggu 01 dan berakhir pada hari Minggu sebelum tahun ISO yang baru (mengakibatkan tidak ada tumpang tindih atau celah). Penomoran ini dapat terdiri dari 52 atau 53 minggu penuh. Minggu ISO pertama dalam suatu tahun mungkin memiliki hingga tiga hari yang sebenarnya dalam tahun kalender Gregorian yang sedang berakhir; jika tiga, tiga hari ini adalah Senin, Selasa dan Rabu. Demikian pula, minggu ISO terakhir dalam suatu tahun mungkin memiliki hingga tiga hari yang sebenarnya dalam tahun kalender Gregorian sedang dimulai; jika tiga, mereka adalah Jumat, Sabtu, dan Minggu. Hari Kamis dari setiap minggu ISO selalu dalam tahun kalender Gregorian yang dilambangkan dengan tahun penomoran minggu ISO.

Contoh:

  • Senin 29 Desember 2008 ditulis "2009-W01-1"
  • Minggu 3 Januari 2010 ditulis "2009-W53-7"

Tanggal ordinal

DD atau YYYYDDD

Tanggal ordinal adalah bentuk sederhana untuk keadaan ketika sifat dari definisi minggu dan bulan lebih merupakan halangan daripada bantuan, misalnya, ketika membandingkan tanggal dari sistem kalender yang berbeda. Seperti yang direpresentasikan di atas, [YYYY] menunjukkan tahun dan [DDD] adalah "hari dalam setahun", dari 001 hingga 365 (366 dalam tahun kabisat). Misalnya, "1981-04-05" juga merupakan "1981-095".

Format ini digunakan pada sistem perangkat keras sederhana yang memiliki kebutuhan untuk sistem tanggal, namun menyertakan perangkat lunak penghitungan kalender penuh mungkin menghasilkan gangguan yang signifikan. Sistem ini kadang-kadang disebut sebagai "Tanggal Julian", tetapi ini dapat menyebabkan kebingungan/ambiguitas dengan hari Julian astronomi, hitungan berurutan dari jumlah hari sejak hari 0 dimulai 1 Januari 4713 SM siang Greenwich, pada kalender proleptik Julian (atau siang pada tanggal ISO -4713-11-24 yang menggunakan kalender proleptik Gregorian dengan tahun 0000).

Waktu

Thh:mm:ss.sss atau Thhmmss.sss
Thh:mm:ss atau Thhmmss
Thh:mm atau Thhmm
Thh

ISO 8601 menggunakan sistem 24-jam. Pada ISO 8601-1:2019, standar format dasar adalah T[hh][mm][ss] dan format yang diperluas adalah T[hh]:[mm]:[ss]. Versi-versi sebelumnya menghilangkan T (mewakili waktu) dalam kedua format. Pada kedua format ini:

  • [hh] merujuk ke jam antara 00 dan 23.
  • [mm] merujuk ke menit antara 00 dan 59.
  • [ss] mengacu pada detik antara 00 dan 60 (angka 60 hanya digunakan untuk menunjukkan detik kabisat tambahan).

Jadi waktu dapat muncul sebagai "T134730" dalam format dasar atau "T13:47:30" dalam format yang diperluas. ISO 8601-1:2019 memungkinkan T dihilangkan dalam format yang diperluas, seperti dalam "13:47:30". Huruf T hanya dapat dihilangkan dalam format dasar ketika tidak ada risiko ambiguitas dengan ekspresi tanggal. Baik detik, atau menit dan detik, dapat dihilangkan dari format waktu dasar atau diperluas untuk menyingkat bentuk, namun akan mengurangi presisi. Dalam keadaan ini, format waktu presisi yang dihasilkan adalah:

  • T[hh][mm] dalam format dasar atau [hh]:[mm] dalam format yang diperluas, ketika detik dihilangkan.
  • T[hh], ketika detik dan menit dihilangkan.

Pada ISO 8601-1:2019, tengah malam hanya dapat disebut sebagai "00:00", sesuai dengan awal hari kalender. Versi standar sebelumnya mengizinkan "24:00" yang sesuai dengan akhir hari, tetapi ini secara eksplisit tidak diizinkan oleh revisi 2019.

Pecahan desimal dapat ditambahkan ke satuan waktu urutan terendah yang ada, dengan menggunakan koma atau titik sebagai pemisah antara satuan waktu dan pecahannya. Misalnya, untuk menunjukkan "14 jam, 30 setengah menit", jangan sertakan angka detik; nyatakan sebagai "14:30,5", "T1430,5", "14:30,5", atau "T1430,5". Tidak ada batasan pada jumlah tempat desimal untuk pecahan desimal. Namun, jumlah tempat desimal perlu disepakati oleh pihak-pihak yang berkomunikasi. Misalnya, di Microsoft SQL Server, ketepatan pecahan desimal untuk DATETIME sebesar 3, artinya, "yyyy-mm-ddThh:mm:ss[.mmm]".

Penunjuk zona waktu

Z
±hh:mm
±hhmm
±hh

Zona waktu dalam ISO 8601 dapat direpresentasikan sebagai: waktu lokal (dengan lokasi yang tidak ditentukan), sebagai UTC, atau sebagai offset dari UTC.

Waktu lokal (tanpa penunjuk lokasi)

Jika tidak ada informasi terkait UTC yang diberikan pada representasi waktu, waktu diasumsikan berada dalam waktu lokal. Meskipun mungkin aman untuk mengasumsikan waktu lokal ketika berkomunikasi dalam zona waktu yang sama, namun akan timbul ambiguitas ketika digunakan dalam berkomunikasi di zona waktu yang berbeda. Bahkan dalam satu zona waktu geografis, beberapa waktu lokal akan rancu jika wilayah tersebut menggunakan waktu musim panas. Representasi waktu yang menambahkan zona waktu (penunjuk zona) lebih disukai untuk menunjukkan waktu.

Waktu Universal Terkoordinasi (UTC)

Jika waktu dalam UTC, huruf Z ditambahkan tanpa spasi setelah representasi waktu. Z adalah penunjuk zona untuk offset UTC nol. Jam "09:30 UTC" dengan demikian akan direpresentasikan sebagai "09:30Z" atau "T0930Z". Jam "14:45:15 UTC" akan menjadi "14:45:15Z" atau "T144515Z".

Akhiran Z dalam representasi waktu ISO 8601 kadang-kadang disebut sebagai "waktu Zulu" atau "Zulu meridian" karena huruf yang sama digunakan untuk menunjuk zona waktu Zulu. Namun standar ACP 121 yang mendefinisikan daftar zona waktu militer, tidak menyebutkan UTC dan mendefinisikan "waktu Zulu" dari Greenwich Mean Time yang sebelumnya digunakan sebagai standar waktu sipil internasional. GMT tidak lagi terdefinisikan secara tepat oleh komunitas ilmiah dan dapat merujuk ke UTC atau UT1 tergantung konteksnya.

Offset waktu dari UTC

Offset UTC ditambahkan ke representasi waktu dengan cara yang sama dengan 'Z' di atas, dalam bentuk ±[hh]:[mm], ±[hh][mm], atau ±[hh]. Offset negatif menyatakan zona waktu yang berada di sebelah barat UTC±00:00, yakni daerah waktu sipil yang lebih cepat ketimbang UTC. Contoh penunjuk zona waktu untuk offset negatif adalah "−03:00","−0300", atau "−03". Di sisi lain, offset positif menyatakan zona waktu yang berada di UTC±00:00 atau di sebelah timurnya, yakni daerah waktu sipil yang sama atau lebih lambat dari UTC sehingga penunjuk zona akan berbentuk seperti "+02:00","+0200", or "+02". Beberapa contoh lainnya:

  • "−05:00" untuk New York pada waktu standar (UTC-05:00)
  • "−04:00" untuk New York pada waktu musim panas (UTC-04:00)
  • "+00:00" (tapi bukan "−00:00") untuk London pada waktu standar (UTC±00:00)
  • "+02:00" untuk Kairo (UTC+02:00)
  • "+05:30" untuk Mumbai (UTC+05:30)
  • "+14:00" untuk Kiribati (UTC+14:00)

Untuk merepresentasikan offset negatif, ISO 8601 mensyaratkan penggunaan tanda kurang, (). Jika set karakter pertukaran tidak memiliki karakter tanda minus, maka tanda hubung perlu digunakan, (-). ASCII tidak memiliki tanda kurang, sehingga karakter tanda hubung (dengan kode desimal 45 atau heksadesimal 2D) akan digunakan. Jika set karakter memiliki tanda kurang, maka karakter itu harus digunakan. Unicode memiliki tanda kurang, dan kode karakternya adalah U+2212 (heksadesimal 2212); panggilan entitas karakter HTML adalah .

Waktu-waktu berikut ini semuanya mengacu pada saat yang sama: "18:30Z", "22:30+04", "1130-0700", dan "15:00-03:30". Huruf zona waktu laut tidak digunakan, kecuali huruf Z. Untuk menghitung waktu UTC, kita harus mengurangi offset dari waktu lokal, misalnya untuk "15:00-03:30" lakukan 15:00-(-03:30) untuk mendapatkan 18:30 UTC.

Pergeseran waktu nol, selain memiliki representasi khusus "Z", juga bisa dinyatakan secara numerik sebagai "+00:00", "+0000", atau "+00". Akan tetapi, tidak diizinkan untuk menyatakan offset ini secara numerik dengan tanda negatif, seperti "-00:00", "-0000", atau "-00". Bagian yang menentukan penggunaan tanda menyatakan bahwa tanda plus harus digunakan untuk nilai positif atau nol, dan tanda minus untuk nilai negatif. Berlawanan dengan aturan ini, RFC 3339, mengizinkan penggunaan "-00", yang memiliki arti sama dengan "+00", namun punya konotasi yang berbeda.

Representasi gabungan tanggal dan waktu

T

Suatu saat dapat diwakili dengan menggabungkan representasi tanggal lengkap, huruf "T" sebagai pembatas, dan representasi waktu yang valid. Misalnya, "2007-04-05T14:30". Standar ISO 8601:2004 mengizinkan penghapusan karakter "T" dengan kesepakatan bersama seperti pada "200704051430", tetapi ketentuan ini dihapus dalam ISO 8601-1:2019. Memisahkan bagian tanggal dan waktu dengan karakter lain seperti spasi tidak diperbolehkan dalam ISO 8601, tetapi diperbolehkan dalam profil RFC 3339.

Jika penunjuk zona waktu diperlukan, representasi mengikuti tanggal dan waktu gabungan. Misalnya, "2007-04-05T14:30Z" atau "2007-04-05T12:30-02:00".

Format dasar atau diperluas dapat digunakan, dengan syarat penulisan tanggal dan waktu harus menggunakan format yang sama. Ekspresi tanggal bisa berupa kalender, minggu, atau ordinal, dan harus menggunakan representasi lengkap. Waktu dapat direpresentasikan menggunakan format presisi yang telah ditentukan.

Durasi

PnYnMnDTnHnMnS
PnW
PT

Durasi mendefinisikan besar jeda waktu dalam interval waktu dan diwakili oleh format P[n]Y[n]M[n]DT[n]H[n]M[n]S atau P[n]W seperti yang ditunjukkan tabel di samping. Dalam representasi ini, [n] digantikan oleh nilai untuk masing-masing satuan tanggal dan waktu yang mengikuti [n]. Angka nol di depan tidak diperlukan, tetapi jumlah digit maksimum untuk setiap elemen harus disepakati oleh pihak-pihak yang berkomunikasi. Huruf kapital P, Y, M, W, D, D, T, H, M, dan S adalah penunjuk untuk masing-masing elemen tanggal dan waktu dan tidak boleh diganti.

  • P adalah penunjuk durasi (untuk periode) yang ditempatkan pada awal representasi durasi.
    • Y adalah penunjuk tahun (year) yang mengikuti nilai untuk jumlah tahun kalender.
    • M adalah penunjuk bulan (month) yang mengikuti nilai untuk jumlah bulan kalender.
    • W adalah penunjuk minggu (week) yang mengikuti nilai untuk jumlah minggu.
    • D adalah penunjuk hari (day) yang mengikuti nilai untuk jumlah hari kalender.
  • T adalah penunjuk waktu yang mendahului komponen waktu dari representasi.
    • H adalah penunjuk jam (hour) yang mengikuti nilai untuk jumlah jam.
    • M adalah penunjuk menit (minute) yang mengikuti nilai untuk jumlah menit.
    • S adalah penunjuk detik (second) yang mengikuti nilai untuk jumlah detik.

Sebagai contoh, "P3Y6M4DT12H30M5S" mewakili durasi "tiga tahun, enam bulan, empat hari, dua belas jam, tiga puluh menit, dan lima detik".

Satuan tanggal dan waktu termasuk penunjuknya dapat dihilangkan jika nilainya nol, dan satuan waktu yang lebih rendah juga dapat dihilangkan untuk mengurangi presisi. Misalnya, "P23DT23H" dan "P4Y" keduanya merupakan representasi durasi yang dapat diterima. Namun, setidaknya satu elemen harus ada, sehingga "P" bukan representasi yang valid untuk durasi 0 detik. "PT0S" atau "P0D", bagaimanapun, keduanya valid dan mewakili durasi yang sama.

Untuk mengatasi ambiguitas, "P1M" adalah durasi untuk satu bulan dan "PT1M" adalah durasi untuk satu menit (perhatikan penunjuk waktu, T, yang mendahului nilai waktu). Nilai terkecil yang digunakan juga dapat memiliki pecahan desimal, seperti dalam "P0.5Y" untuk menunjukkan setengah tahun. Pecahan desimal ini dapat ditentukan dengan koma atau tanda titik, seperti dalam "P0,5Y" atau "P0.5Y". Standar ini tidak melarang nilai tanggal dan waktu dalam representasi durasi melebihi "carry over point" kecuali seperti yang disebutkan di bawah ini. Dengan demikian, "PT36H" dapat digunakan serta "P1DT12H" untuk mewakili durasi yang sama. Tetapi perlu diingat bahwa "PT36H" tidak sama dengan "P1DT12H" ketika beralih dari atau ke waktu musim panas.

Sebagai alternatif, format untuk durasi berdasarkan representasi tanggal dan waktu gabungan dapat digunakan dengan kesepakatan antara pihak-pihak yang berkomunikasi baik dalam format dasar PYYYYMMDDThhmmss atau dalam format yang diperluas P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]. Contohnya, durasi "P3Y6M4DT12H30M5S" dapat dituliskan sebagai "P0003-06-04T12:30:05". Namun demikian, nilai tanggal dan waktu individual tidak bisa melebihi moduli mereka (misalnya, nilai 13 untuk bulan atau 25 untuk jam tidak akan diizinkan).

Standar ISO 8601 mendefinisikan durasi sebagai bagian dari interval waktu, yang dibahas di bagian berikutnya. Format durasi itu sendiri ambigu terkait jumlah hari dalam satu tahun kalender dan bulan kalender. Jumlah detik dalam satu hari kalender juga ambigu karena detik kabisat. Misalnya "P1M" dapat berarti 28, 29, 30, atau 31 hari. Tidak ada ambiguitas saat interval waktu digunakan. Menggunakan contoh "P2M" untuk durasi dua bulan kalender:

  • interval 2003-02-15T00:00:00Z/P2M berakhir dua bulan kalender kemudian, yakni pada 2003-04-15T00:00:00Z atau 59 hari kemudian
  • interval 2003-07-15T00:00:00Z/P2Mberakhir dua bulan kalender kemudian, yakni pada 2003-09-15T00:00:00Z atau 62 hari kemudian

Format durasi (atau subset darinya) secara luas digunakan terlepas dari definisi interval waktu, seperti pada kelas Java 8 Duration yang mendukung subset dari format durasi.

Interval waktu

/
/
/

Interval waktu adalah jeda waktu antara dua saat. Jumlah waktu jeda diekspresikan oleh durasi (seperti yang dijelaskan di bagian sebelumnya). Dua titik waktu (mulai dan akhir) dapat dinyatakan dengan representasi tanggal dan waktu gabungan atau hanya dengan representasi tanggal.

Ada empat cara untuk mengekspresikan interval waktu:

  • Mulai dan akhir, seperti "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
  • Mulai dan durasi, seperti "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
  • Durasi dan akhir, seperti "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
  • Durasi saja, seperti "P1Y2M10DT2H30M", dengan informasi konteks tambahan

Dari cara-cara tersebut, tiga cara pertama membutuhkan dua nilai yang dipisahkan oleh penunjuk interval yang biasanya berupa solidus (lebih sering disebut sebagai garis miring "/"). Bagian 3.2.6 pada ISO 8601:-1:2019 mencatat bahwa "Solidus dapat diganti dengan tanda hubung ganda ["--"] dengan kesepakatan bersama dari mitra komunikasi", dan versi-versi sebelumnya menggunakan notasi seperti "2000--2002". Penggunaan tanda hubung ganda sebagai pengganti solidus memungkinkan penggunaan sebagai nama berkas di komputer; karena dalam sistem operasi yang umum, solidus adalah karakter yang dicadangkan dan tidak diizinkan dalam nama berkas.

Untuk ekspresi /, jika ada satuan waktu yang hilang dari nilai akhir, mereka diasumsikan sama dengan nilai waktu awal termasuk zona waktu. Fitur standar ini memungkinkan representasi yang lebih ringkas untuk interval waktu. Misalnya, tanggal pertemuan selama dua jam dengan waktu mulai dan selesai dapat dengan mudah ditampilkan sebagai "2007-12-14T13:30/15:30", dengan "/15:30" menyiratkan "/2007-12-14T15:30" (tanggal yang sama dengan waktu mulai), atau tanggal awal dan akhir periode penagihan bulanan sebagai "2008-02-15/03-14", dengan "/03-14" menyiratkan "/2008-03-14" (tahun yang sama dengan awal).

Jika presisi yang lebih besar diinginkan untuk mewakili interval waktu, maka lebih banyak satuan waktu dapat ditambahkan ke representasi. Interval yang dilambangkan "2007-11-13/15" dapat dimulai kapan saja pada 2007-11-13 dan berakhir kapan saja pada 2007-11-15, sedangkan "2007-11-13T09:00/15T17:00" mencakup waktu mulai dan akhir. Untuk secara eksplisit menyertakan semua tanggal mulai dan akhir, interval akan direpresentasikan sebagai "2007-11-13T00:00/16T00:00".

Interval berulang

Rn/
R/

Interval berulang didefinisikan standar dalam klausa "4.5 Interval waktu berulang". Representasi ini dibentuk dengan menambahkan "R[n]/" ke awal ekspresi interval, dengan R digunakan sebagai huruf untuk perulangan (repeating) dan [n] digantikan oleh jumlah pengulangan. Meninggalkan nilai untuk [n] atau menentukan nilai -1, mengartikan jumlah pengulangan yang tidak terbatas. Nilai 0 untuk [n] berarti interval tidak diulang.

Jika interval digunakan sebagai representasi (bentuk 1 dan 2 pada tabel representasi interval waktu), maka ini adalah awal dari interval yang berulang. Jika interval menandakan akhir tetapi bukan awal (bentuk ke-3), maka representasi adalah akhir dari interval yang berulang. Misalnya, untuk mengulang interval "P1Y2M10DT2H30M" lima kali yang dimulai pada "2008-03-01T13:00:00Z", gunakan "R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M".

Representasi terpotong

ISO 8601:2000 mengizinkan pemotongan (berdasarkan kesepakatan), sehingga komponen utama dari tanggal atau waktu dihilangkan. Khususnya, ini memungkinkan tahun dua digit untuk digunakan, menghasilkan format ambigu YY-MM-DD dan YYMMDD. Ketentuan ini dihapus dalam ISO 8601:2004.

Representasi terpotong (dihilangkan dalam ISO8601:2004)
Jenis Format dasar Contoh dasar Format yang diperluas Contoh diperluas
Tanggal tertentu dalam abad yang tersirat YYMMDD 851026 YY-MM-DD 85-10-26
Tahun dan bulan tertentu dalam abad yang tersirat -YYMM -8510 -YY-MM -85-10
Tahun tertentu dalam abad yang tersirat -YY -85 N/A
Hari tertentu dalam satu bulan di tahun yang tersirat --MMDD --1026 --MM-DD --10-26
Bulan tertentu dalam tahun yang tersirat --MM --10 N/A
Hari tertentu dalam bulan yang tersirat ---DD ---26

Hanya jenis pertama (tanggal spesifik dalam abad yang tersirat) yang menghilangkan awalan tanda hubung - untuk abad. Semua format lainnya memiliki satu awalan tanda hubung per abad, tahun, dan bulan yang dihilangkan.

Penerapan

Di Internet, World Wide Web Consortium (W3C) menggunakan standar IETF yang berdasar pada ISO 8601. Standar ini membatasi format tanggal dan waktu yang didukung untuk mengurangi kemungkinan kesalahan dan kompleksitas perangkat lunak. Spesifikasi yang sangat sederhana ini didasarkan pada draf RFC 3339 yang disebutkan di bawah ini.

ISO 8601 direferensikan oleh beberapa spesifikasi, tetapi berbagai pilihan yang ditawarkan ISO 8601 tidak selalu digunakan. Misalnya, berbagai standar panduan program elektronik untuk TV, radio digital, dll., menggunakan beberapa bentuk untuk mendeskripsikan waktu dan durasi. Spesifikasi metadata audio ID3 juga menggunakan subset ISO 8601.

Adopsi sebagai standar nasional

Afrika Selatan SANS 8601:2009
Amerika Serikat ANSI INCITS 30-1997 (R2008) dan NIST FIPS PUB 4-2
Australia AS/NZS ISO 8601.1:2021, AS/NZS ISO 8601.2:2021 (menggantikan AS ISO 8601-2007)
Austria ÖNORM ISO 8601 (menggantikan ÖNORM EN 28601)
Belanda NEN ISO 8601, NEN EN 28601 (1994), NEN 2772
Belgia NBN EN 28601 (1993)
Brazil NBR 5892:2019
Britania Raya BS ISO 8601:2004, BS EN 28601 (1989-06-30)
China GB/T 7408-2005
Denmark DS/ISO 8601:2005 (menggantikan DS/EN 28601)
Estonia EVS 8:2008; EVS-ISO 8601:2011
Finlandia SFS-EN 28601
Hungaria MSZ ISO 8601:2003
Islandia IST EN 28601:1992 (usang)
India IS 7900:2001
Irlandia IS/EN 28601:1993
Italia UNI EN 28601 (1993)
Jepang JIS X 0301:2002
Jerman DIN ISO 8601:2006-09 (menggantikan DIN EN 28601:1993-02); terkait: DIN 5008:2011-04 (menggantikan DIN 5008:2005-05, DIN 5008:2001-11, DIN 5008:1996-05)
Kanada CAN/CSA-Z234.4-89 (R2007)
Kolombia NTC 1034:2014 Source ICONTEC (standar ini identik dengan ISO 8601:2004) Diarsipkan 2020-01-16 di Wayback Machine.
Korea Selatan KS X ISO 8601
Lithuania LST ISO 8601:2006 (menggantikan LST ISO 8601:1997)
Luksemburg ITM-EN 28601
Meksiko NMX-CH-150-IMNC-1999
Norwegia NS-ISO 8601
Polandia PN-EN 28601:2002 (usang sejak 2008. Tidak ada standar yang menggantikan.)
Portugal NP EN 28601
Prancis NF Z69-200; NF EN 28601:1993-06-01 (dibatalkan)
Republik Ceko ČSN ISO 8601 (menggantikan ČSN EN 28601)
Russia ГОСТ ИСО 8601-2001 (saat ini), ГОСТ 7.64-90 (usang)
Selandia Baru AS/NZS ISO 8601.1:2021, AS/NZS ISO 8601.2:2021
Standar Eropa EN ISO 8601, EN 28601:1992 (dibatalkan 7 Oktober 2011)
Spanyol UNE EN 28601:1995
Swedia SS-ISO 8601:2011 (disepakati 2011-11-01, menggantikan SS-ISO 8601)
Swiss SN ISO 8601:2005-08 (menggantikan SN-EN 28601:1994)
Taiwan CNS 7648
Thailand TIS 1111:2535 (1992)
Turki TS ISO 8601-1 dan TS ISO 8601-2 (disepakati sejak 2021-02-15)
Ukraina ДСТУ ISO 8601:2010
Yunani ELOT EN 28601
Vietnam TCVN 6398-1:1998

Referensi

Pranala luar

Gambaran umum implementasi

Tags:

Iso 8601 SejarahIso 8601 Prinsip-prinsip umumIso 8601 TanggalIso 8601 WaktuIso 8601 Representasi gabungan tanggal dan waktuIso 8601 DurasiIso 8601 Interval waktuIso 8601 Representasi terpotongIso 8601 PenerapanIso 8601 ReferensiIso 8601 Pranala luarIso 8601JenewaOrganisasi Standardisasi InternasionalStandar internasionalTanggalWaktu

🔥 Trending searches on Wiki Bahasa Indonesia:

BaratJeam Kelly SroyerMeterRumah GadangDaftar negara menurut luas wilayahSunan DrajatBProvinsi di IndonesiaIrakEredivisieKerusuhan Mei 1998Putri IsnariHierarki kebutuhan MaslowIranKejuaraan Sepak Bola PerbaraThailandPiala Asia U-23 AFC 2024Konferensi Meja BundarPatrialis AkbarAnnette EdoardaBengkuluDesaSurya PalohAmerika SerikatBank MandiriJustin HubnerYandexSepak bola pada Olimpiade Musim Panas 2020Konflik SampitPornografiKaiju No. 8Paulus dari TarsusAyamLiterasiQatarDaftar anggota JKT48Liga 1 (Indonesia)IduladhaSuku BetawiKesultanan UtsmaniyahKerja samaKota ManadoPeristiwa RengasdengklokBadan Penyelidik Usaha-Usaha Persiapan KemerdekaanPolitik EtisSejarah Nusantara pada era kerajaan IslamPerang PadriPaskibrakaBoti (bahasa gaul)Sel sarafSalam Lintas AgamaAnwar UsmanNomor pokok wajib pajakSunan BonangBambang SoesatyoBank sentralSoedirmanSaldi IsraKim Ji-won (pemeran)Solo LevelingLuis MillaDana (layanan pembayaran)Jay IdzesSoesalit DjojoadhiningratAgus Harimurti YudhoyonoKejuaraan Remaja U-23 AFFHipotesisSuper Air JetNMin Hee-jinTapiokaDaftar Film Indonesia Terlaris Sepanjang MasaAghniny HaqueLa LigaKalimantan BaratGilbert LumoindongGemini AIWali Sanga🡆 More