ISO 8601 - ISO 8601 - Wikipedia

ISO 8601'e göre ifade edilen güncel tarih ve saat [yenilemek]
Tarih2020-12-17
Tarih ve saat UTC2020-12-17T21: 17: 09 + 00: 00
2020-12-17T21: 17: 09Z
20201217T211709Z
Hafta2020-W51
Hafta içi hafta2020-W51-4
Yıl olmadan tarih--12-17[1]
Sıra tarihi2020-352

ISO 8601 Veri öğeleri ve değişim biçimleri - Bilgi değişimi - Tarih ve saatlerin gösterimi bir uluslararası standart değişimini kapsayan tarih - ve zaman -Ilgili veriler. Tarafından verildi Uluslararası Standardizasyon Örgütü (ISO) tarafından yayınlanmıştır ve ilk olarak 1988'de yayınlanmıştır. Bu standardın amacı, tarih ve saatlerin sayısal gösterimlerinin yanlış yorumlanmasını önlemek için, özellikle veriler arasında veri aktarımı yapıldığında, kesin ve iyi tanımlanmış bir tarih ve saatleri temsil etme yöntemi sağlamaktır. farklı sözleşmelere sahip ülkeler sayısal tarihler ve saatler yazmak için.

Genel olarak, ISO 8601, aşağıdaki tarihlerin gösterimleri ve formatları için geçerlidir. Gregoryen (ve potansiyel olarak proleptik Gregoryen ) takvime göre 24 saatlik zaman tutma sistemi (isteğe bağlı UTC farkı ), nın-nin Zaman aralıkları ve bunların kombinasyonları.[2] Standart, temsil edilecek tarih / saat unsurlarına herhangi bir özel anlam vermez; anlam, kullanım bağlamına bağlı olacaktır. Ek olarak, temsil edilecek tarihler ve saatler, standartta belirli sayısal anlamı olmayan sözcükleri içeremez (ör. Çin takviminde yıl sayısı ) veya kullanmayan karakterler (ör. resimler, sesler).[2]

Değişim temsillerinde, tarihler ve saatler düzenlenir, böylece en büyük zamansal terim (yıl) sola yerleştirilir ve birbirini izleyen her küçük terim bir önceki terimin sağına yerleştirilir. Temsiller bir kombinasyon halinde yazılmalıdır Arap rakamları ve standart içinde belirli anlamlar verilen belirli karakterler ("-", ":", "T", "W" ve "Z" gibi); Bunun anlamı, takas gösterimlerinde "Ocak" veya "Perşembe" gibi tarih bölümlerini yazmanın bazı genel yollarına izin verilmemesidir.

Tarih

ISO 8601 standardının ilk baskısı şu şekilde yayınlandı: ISO 8601: 1988 1988'de. Tarih ve saat gösteriminin çeşitli yönlerinde bir dizi eski ISO standardını birleştirdi ve değiştirdi: ISO 2014, ISO 2015, ISO 2711, ISO 3307, ve ISO 4031.[3] Onun yerini ikinci bir baskı aldı ISO 8601: 2000 2000 yılında üçüncü baskı ile ISO 8601: 2004 1 Aralık 2004 tarihinde yayınlandı ve geri çekilip revize edildi ISO 8601-1: 2019 ve ISO 8601-2: 2019 25 Şubat 2019 tarihinde ISO 8601 tarafından hazırlanmıştır.[4] ve doğrudan sorumluluğu altındadır, ISO Teknik Komitesi TC 154.[5]

ISO 2014, yerini almasına rağmen, başlangıçta tüm sayısal tarih gösterimini en çok-en küçüğe doğru sırayla sunan standarttır. [YYYY] - [AA] - [GG]. ISO hafta numaralandırma sistemi ISO 2015'te tanıtıldı ve günlerin sıralı tarihlerle tanımlanması ilk olarak ISO 2711'de tanımlandı.

Şubat 2019'da yayınlanan, ISO 8601-1: 2019 standardının dördüncü revizyonu, önceki ISO 8601: 2004 standardının biraz güncellenmiş içeriğini temsil etmektedir,[6][7] yeni ISO 8601-2: 2019 ise belirsizlikler ya da Genişletilmiş Tarih / Saat Biçimi (EDTF).[8][9][10][11][12][13]

Liste
İsimAçıklama
ISO 8601: 1988Veri öğeleri ve değişim biçimleri - Bilgi değişimi - Tarih ve saatlerin gösterimi
ISO 8601: 1988 / COR 1: 1991Veri öğeleri ve değişim formatları - Bilgi değişimi - Tarih ve saatlerin gösterimi - Teknik Düzeltme 1
ISO 8601: 2000Veri öğeleri ve değişim biçimleri - Bilgi değişimi - Tarih ve saatlerin gösterimi
ISO 8601: 2004Veri öğeleri ve değişim biçimleri - Bilgi değişimi - Tarih ve saatlerin gösterimi
ISO 8601-1: 2019Tarih ve saat - Bilgi değişimi için temsiller - Bölüm 1: Temel kurallar
ISO 8601-2: 2019Tarih ve saat - Bilgi değişimi için temsiller - Bölüm 2: Uzantılar

Genel İlkeler

  • Tarih ve saat değerleri, zamanın en büyüğünden en küçüğüne doğru sıralanır: yıl, ay (veya hafta), gün, saat, dakika, saniye ve saniyenin kesri. sözlük düzeni Bu nedenle temsilin, negatif yılları veya zaman farkını içeren tarih temsilleri dışında kronolojik sıraya karşılık gelir. Bu, tarihlerin doğal olmasını sağlar sıralanmış örneğin dosya sistemleri ile.
  • Her tarih ve saat değerinin, aşağıdakilerle doldurulması gereken sabit sayıda basamak vardır önde gelen sıfırlar.
  • Temsiller iki formattan birinde yapılabilir - en az sayıda ayırıcı içeren temel bir format veya insan tarafından okunabilirliği artırmak için ayırıcıların eklendiği genişletilmiş bir format.[14][15] Standart, "Temel formattan kaçınılması gerektiğini belirtir. düz metin."[16] Tarih değerleri (yıl, ay, hafta ve gün) arasında kullanılan ayırıcı, tire iken kolon zaman değerleri (saat, dakika ve saniye) arasında ayırıcı olarak kullanılır. Örneğin 2009 yılının 1. ayının 6. günü şu şekilde yazılabilir: "2009-01-06" genişletilmiş biçimde veya basitçe "20090106" olarak, belirsizlik içermeyen temel biçimde.
  • Daha az hassasiyet için,[17] herhangi bir sayıdaki değer tarih ve saat temsillerinden herhangi birinden çıkarılabilir, ancak en azdan en önemlisine doğru sırayla. Örneğin, "2004-05" geçerli bir ISO 8601 tarihidir ve Mayıs 2004'ü (beşinci ay) belirtir. Bu biçim hiçbir zaman 2004'teki belirlenmemiş bir ayın 5. gününü temsil etmeyeceği gibi, 2004'ten 2005'e.
  • Standart, belirli bir uygulama için gerekliyse, bir ondalık kesir gösterimdeki en küçük zaman değerine.

Tarih

Aralık 2020
HaftaPztSalıevlenmekPerCumOturduGüneş
W4930010203040506
W5007080910111213
W5114151617181920
W5221222324252627
W5328293031010203

Standart, Miladi takvim "sivil kullanım için uluslararası bir standart olarak hizmet eder."[18]

ISO 8601: 2004, 20 Mayıs 1875 Miladi takvime bir referans takvim tarihini, Convention du Mètre (Sayaç Sözleşmesi ) imzalandı Paris (açık referans tarihi ISO 8601-1: 2019'da kaldırılmıştır). Bununla birlikte, kongre öncesindeki ISO takvim tarihleri, Gregoryen takviminin 15 Ekim 1582'deki resmi tanıtımına kadar tümüyle Miladi takvimle uyumludur.

Daha önceki tarihler proleptik Miladi takvim bilgi alışverişinde bulunan ortakların karşılıklı mutabakatı ile kullanılabilir. Standart, her tarihin ardışık olması gerektiğini belirtir, bu nedenle Jülyen takvimi standarda aykırı olabilir (çünkü geçiş tarihinde tarihler ardışık olmayacaktır).

Yıllar

YYYY
±YYYYY

ISO 8601, en az dört basamaklı bir yılı [YYYY] belirler. 2000 yılı problemi. Bu nedenle 0000 ile 9999 arasındaki yılları temsil eder, 0000 yılı 1'e eşittir M.Ö ve diğerleri AD. Ancak yıllar önce 1583 standart tarafından otomatik olarak izin verilmez. Bunun yerine, "[0000] ila [1582] aralığındaki değerler yalnızca bilgi alışverişinde ortakların karşılıklı anlaşması ile kullanılacaktır."[19]

Yıllar önce temsil etmek 0000 yada sonra 9999, standart aynı zamanda yıl temsilinin genişletilmesine de izin verir, ancak yalnızca gönderen ve alıcı arasında önceden yapılan anlaşma ile.[20] Genişletilmiş yıl temsili [±YYYYY], üzerinde mutabık kalınan minimum dört haneli fazladan yıl hanesine sahip olmalı ve önünde + veya - işareti bulunmalıdır[21] daha yaygın yerine AD / BC (veya CE / BCE ) gösterim; 1 BC'ye göre etiketlenmiştir +0000, 2 BC, −0001 olarak etiketlenir ve bu böyle devam eder.[22]

Takvim tarihleri

YYYY-AA-GGveyaYYYYAAGG
YYYY-AA(Ama değil YYYYAAG)
--MM-DDveya--MMDD[1]

Takvim tarihi gösterimleri yandaki kutuda gösterilen formdadır. [YYYY], 0000 ila 9999 arasında dört basamaklı bir yılı belirtir. [AA], yılın 01 ila 12 arasındaki iki basamaklı bir ayını belirtir. [GG], 01 ila 31 arasında, o ayın iki basamaklı bir gününü belirtir. Örneğin , "5 Nisan 1981" şu şekilde temsil edilebilir: "1981-04-05"[14] içinde genişletilmiş format veya "19810405" temel format.

Standart ayrıca takvim tarihlerinin azaltılmış hassasiyetle yazılmasına da izin verir. Örneğin biri yazabilir "1981-04" "1981 Nisan" anlamına gelir. 2000 sürümü yazmaya izin verdi "--04-05" "5 Nisan" anlamına gelir[23] ancak 2004 versiyonu, bir ayın mevcut olduğu yılın atlanmasına izin vermiyor. O yıla atıfta bulunmak için basitçe "1981", atıfta bulunmak için "198" yazılabilir. onyıl 1980'den 1989'a kadar veya "19" yüzyıl 1900'den 1999'a kadar dahil. Standart hem "YYYY-AA-GG" ve tam takvim tarihi gösterimleri için YYYYAAGG biçimleri; [GG] günü atlanırsa, yalnızca YYYY-AA biçimine izin verilir. YYYYMM formundaki tarihlere izin verilmeyen standart, kesik gösterim YYAAGG (hala sıklıkla kullanılmaktadır).

Hafta tarihleri

YYYY-WwwveyaYYYYWww
YYYY-Www-DveyaYYYYWwwD

Hafta tarihi gösterimleri yandaki kutuda gösterilen formatlardadır. [YYYY], ISO hafta numaralandırma yılı geleneksel olandan biraz farklı olan Miladi takvim yıl (aşağıya bakınız). [Www], hafta numarası harf ile ön eklenmiş W, W01'den W53'e. [D] hafta içi numara1'den 7'ye kadar, Pazartesi ile başlayıp Pazar ile bitiyor.

01. haftanın karşılıklı olarak eşdeğer ve uyumlu birkaç açıklaması vardır:

  • içinde yılın ilk Perşembe günü olan hafta (resmi ISO tanımı),
  • içinde 4 Ocak olan hafta,
  • günlerinin çoğunluğunun (dört veya daha fazla) başlangıç ​​yılında olduğu ilk hafta ve
  • 29 Aralık - 4 Ocak döneminde Pazartesi ile başlayan hafta.

Sonuç olarak, 1 Ocak Pazartesi, Salı, Çarşamba veya Perşembe günüyse, 01. haftadır. 1 Ocak Cuma, Cumartesi veya Pazar günüyse, önceki yılın 52 veya 53. haftasıdır ( 00 hafta yok). 28 Aralık her zaman yılın son haftasıdır.

Hafta numarası Perşembe günleri sayılarak açıklanabilir: 12. hafta yılın 12. Perşembe gününü içerir.

ISO hafta numaralandırma yılı 01. haftanın ilk gününde (Pazartesi) başlar ve yeni ISO yılından önceki Pazar günü sona erer (dolayısıyla çakışma veya boşluk olmadan). 52 veya 53 tam haftadan oluşur. Bir yılın ilk ISO haftası, gerçekte biten Gregoryen takvim yılında olan üç güne kadar sürebilir; üç ise, bunlar Pazartesi, Salı ve Çarşamba'dır. Benzer şekilde, bir yılın son ISO haftasında, gerçekte başlayan Gregoryen takvim yılında olan üç güne kadar olabilir; üç ise, bunlar Cuma, Cumartesi ve Pazar'dır. Her ISO haftasının Perşembe günü her zaman ISO hafta numaralandırma yılı ile belirtilen Miladi takvim yılıdır.

Örnekler:

  • 29 Aralık 2008 Pazartesi "2009-W01-1" olarak yazılmıştır.
  • 3 Ocak 2010 Pazar "2009-W53-7" olarak yazılmıştır

Sıra tarihleri

YYYY-GGGveyaYYYYDDD

Bir sıra tarihi Örneğin, farklı takvimlerdeki tarihleri ​​karşılaştırırken, hafta ve ay tanımlarının keyfi yapısının bir yardımdan çok bir engel oluşturduğu durumlar için basit bir formdur. Yukarıda gösterildiği gibi, [YYYY] bir yılı belirtir. [DDD] 001'den 365'e kadar o yılın günüdür (366 inç artık yıllar ). Örneğin, "1981-04-05" aynı zamanda "1981-095".

Bu biçim, bir tarih sistemine ihtiyaç duyan, ancak tam takvim hesaplama yazılımının dahil edilmesinin önemli bir sorun olabileceği basit donanım sistemlerinde kullanılır. Bu sistem bazen "Jülyen Tarihi" olarak anılır, ancak bu, astronomik sistemle karışıklığa neden olabilir. Julian günü, 0. günün başlangıcından bu yana geçen günlerin sıralı bir sayımı 1 Ocak 4713 BC Greenwich öğlen, Julian proleptik takvimi (veya ISO tarihinde öğlen −4713-11-24 0000 yılı olan Gregoryen proleptik takvimini kullanır).

Zamanlar

hh: mm: ss.sssveyaThhmmss.sss
hh: mm: ssveyaThhmmss
hh: mmveyaThhmm
Thh

ISO 8601, 24 saatlik zaman biçimi sistemi. ISO 8601-1: 2019 itibariyle, temel format T [hh] [mm] [ss] ve genişletilmiş format T [hh]: [mm]: [ss]. Daha önceki sürümler, her iki biçimde de T'yi içermiyordu.

  • [hh] sıfır dolgulu saat 00 ile 23 arasında.
  • [mm] sıfır dolgulu anlamına gelir dakika 00 ile 59 arasında.
  • [ss] sıfır dolgulu anlamına gelir ikinci 00 ile 60 arasında (burada 60 yalnızca eklenen bir artık saniye ).

Dolayısıyla, bir zaman, "T134730" olarak görünebilir temel format veya "T13: 47: 30" genişletilmiş format. ISO 8601-1: 2019, T'nin "13:47:30" gibi genişletilmiş formatta çıkarılmasına izin verir, ancak T'nin yalnızca tarih ifadelerinde belirsizlik riski olmadığında temel formatta çıkarılmasına izin verir.

Daha fazla kısalık ancak daha az kesinlik için saniye veya dakika ve saniye temel veya genişletilmiş zaman formatlarından çıkarılabilir; sonuçta elde edilen düşük hassasiyetli zaman biçimleri şunlardır:[24]

  • T [ss] [mm] inç temel format veya [hh]: [mm] inç genişletilmiş format, saniyeler ihmal edildiğinde.
  • T [hh], hem saniye hem de dakika ihmal edildiğinde.

ISO 8601-1: 2019 itibarıyla gece yarısı sadece bir takvim gününün başlangıcına karşılık gelen "00:00" olarak anılabilir. Standardın önceki sürümlerinde bir günün sonuna karşılık gelen "24:00" e izin verilir, ancak bu 2019 revizyonu tarafından açıkça izin verilmemiştir.

Bu temsillerin herhangi birinde mevcut olan en düşük dereceden zaman öğesine bir ondalık kesir eklenebilir. Bir ondalık işaret, ya bir virgül veya a nokta (takip etme ISO 80000-1 ISO 8601: 1-2019'a göre,[25] Uluslararası Standartlar haricinde bir tercih şart koşmayan, ancak bir tercih ile virgül ISO 8601: 2004'e göre)[26] zaman öğesi ile kesri arasında bir ayırıcı olarak kullanılır. "14 saat, 30 ve bir buçuk dakikayı" belirtmek için saniye rakamı eklemeyin. "14: 30,5", "T1430,5", "14: 30.5" veya "T1430.5" olarak temsil edin. Ondalık kesir için ondalık basamak sayısında bir sınır yoktur. Bununla birlikte, ondalık basamak sayısı konusunda iletişim kuran taraflarca kararlaştırılmalıdır. Örneğin, Microsoft SQL Server'da hassas ondalık kesir sayısı 3'tür, yani "yyyy-mm-ggThh: mm: ss [.mmm]".[27]

Saat dilimi belirteçleri

± ss: dd
± ssmm
± ss

Zaman dilimleri ISO 8601'de yerel saat olarak (konum belirtilmemiş olarak) temsil edilir. UTC veya UTC'den uzaklık olarak.

Yerel saat (niteliksiz)

Zaman gösterimi ile herhangi bir UTC ilişkisi bilgisi verilmemişse, saatin yerel saatte olduğu varsayılır. Olurken Mayıs Aynı saat diliminde iletişim kurarken yerel saati varsaymak güvenli olduğundan, farklı zaman dilimleri arasında iletişim kurarken kullanıldığında belirsizdir. Tek bir coğrafi saat dilimi içinde bile, bölge gözlemlerse bazı yerel zamanlar belirsiz olacaktır. günışıgından yararlanma süresi. Genellikle, standardın gösterimini kullanarak bir saat dilimini (bölge belirteci) belirtmek tercih edilir.

Eşgüdümlü Evrensel Saat (UTC)

Zaman doluysa UTC, ekle Z doğrudan boşluk olmadan zamandan sonra. Z sıfır UTC farkının bölge göstergesidir. Bu nedenle "09:30 UTC" "09: 30Z" veya "T0930Z" olarak temsil edilir. "14:45:15 UTC", "14: 45: 15Z" veya "T144515Z" olacaktır.

Z ISO 8601 zaman gösteriminde son ek, bazen "Zulu zamanı" olarak anılır çünkü aynı harf, Zulu saat dilimi. Bununla birlikte, askeri saat dilimleri listesini tanımlayan ACP 121 standardı, UTC'den bahsetmez ve "Zulu zamanını" Greenwich Ortalama Saati[28] eskiden uluslararası sivil zaman standardı olarak kullanılıyordu. GMT artık bilimsel topluluk tarafından kesin olarak tanımlanmamaktadır ve UTC veya UT1 bağlama göre.[29]

UTC'den saat farkları

UTC farkı "Z" nin yukarısında olduğu gibi zamana ± [hh]: [mm], ± [hh] [mm] veya ± [hh] biçiminde eklenir.

Olumsuz UTC uzaklıkları tanımla saat dilimi batısı UTC ± 00: 00, nerede sivil zaman geride (veya daha erken) UTC bu nedenle bölge belirteci "−03: 00", "- 0300" veya "−03" gibi görünecektir.

Pozitif UTC uzaklıkları tanımla saat dilimi doğusu UTC ± 00: 00, nerede sivil zaman ileride (veya daha geç) UTC böylece bölge belirteci "+02: 00", "+ 0200" veya "+02" gibi görünecektir.

Örnekler

Görmek UTC saat farklarının listesi diğeri için UTC uzaklıkları.

Negatif bir ofseti temsil etmek için, ISO 8601 bir Eksi işareti. Değişim karakter seti sınırlıysa ve eksi işareti karakterine sahip değilse, o zaman tire-eksi kullanılmalıdır. ASCII eksi işareti yoktur, bu nedenle tire-eksi karakteri (kod 45 ondalık veya 2D onaltılıktır) kullanılır. Karakter setinde eksi işareti varsa, o karakter kullanılmalıdır. Unicode bir eksi işaretine sahiptir ve karakter kodu U + 2212'dir (2212 onaltılık); HTML karakter varlığı çağrı &eksi;.

Aşağıdaki zamanların tümü aynı ana işaret eder: "18: 30Z", "22: 30 + 04", "1130-0700" ve "15: 00-03: 30". Deniz zamanı Z haricinde bölge harfleri kullanılmaz. UTC saatini hesaplamak için yerel saatten uzaklığı çıkarmak gerekir, örn. "15: 00-03: 30" için 18:30 UTC'yi almak için 15:00 - (-03: 30) yapın.

"Z" özel gösterimine ek olarak bir sıfır ofseti sayısal olarak "+00: 00", "+0000" veya "+00" olarak da ifade edilebilir. Bununla birlikte, sayısal olarak "−00: 00", "−0000" veya "−00" olarak negatif işaret ile ifade edilmesine izin verilmez. İşaret kullanımını dikte eden bölüm[30] pozitif veya sıfır değer için artı işaretinin ve negatif değer için eksi işaretinin kullanılması gerektiğini belirtir. Bu kuralın aksine, RFC 3339 aksi takdirde ISO 8601'in bir profili olan "-00" kullanımına izin verir, "+00" ile aynı anlamla, ancak farklı bir çağrışımla.[31]

Birleşik tarih ve saat gösterimleri

<date>T<time>

Zamanın tek bir noktası, tam bir tarih ifadesi olan harfin birleştirilmesiyle temsil edilebilir. "T" bir sınırlayıcı ve geçerli bir zaman ifadesi olarak. Örneğin, "2007-04-05T14: 30". ISO 8601: 2004'te, "T" karşılıklı anlaşma ile karakter "200704051430",[32] ancak bu hüküm ISO 8601-1: 2019'da kaldırılmıştır. Tarih ve saat bölümlerinin boşluk gibi diğer karakterlerle ayrılmasına ISO 8601'de izin verilmez, ancak profilinde izin verilir RFC 3339.[33]

Bir saat dilimi göstergesi gerekiyorsa, birleşik tarih ve saati izler. Örneğin, "2007-04-05T14: 30Z" veya "2007-04-05T12: 30-02: 00".

Temel veya genişletilmiş formatlar kullanılabilir, ancak hem tarih hem de saat aynı formatı kullanmalıdır. Tarih ifadesi takvim, hafta veya sıra olabilir ve tam bir temsil kullanmalıdır. Zaman, belirli bir azaltılmış kesinlik formatı kullanılarak gösterilebilir.

Süreler

PnYnMnDTnHnMnS
PnW
P T

Süreler, bir zaman aralığında araya giren zaman miktarını tanımlar ve gösterildiği gibi P [n] Y [n] M [n] DT [n] H [n] M [n] S veya P [n] W formatıyla temsil edilir Sağa. Bu gösterimlerde, [n], [n] işaretini izleyen tarih ve saat öğelerinin her birinin değeri ile değiştirilir. Baştaki sıfırlar gerekli değildir, ancak her öğe için maksimum basamak sayısı iletişimde bulunan taraflarca kararlaştırılmalıdır. Büyük harfler P, Y, M, W, D, T, H, M, ve S tarih ve saat öğelerinin her biri için birer işarettir ve değiştirilmez.

  • P süre göstergesi (için dönem) süre temsilinin başlangıcına yerleştirilir.
    • Y yıl sayısı değerini izleyen yıl göstergesidir.
    • M ay sayısı değerini izleyen ay göstergesidir.
    • W hafta sayısı değerini izleyen hafta göstergesidir.
    • D gün sayısı değerini izleyen gün göstergesidir.
  • T temsilin zaman bileşenlerinden önce gelen zaman göstergesidir.
    • H saat sayısı değerini izleyen saat göstergesidir.
    • M dakika sayısı değerini izleyen dakika göstergesidir.
    • S saniye sayısı değerini izleyen ikinci belirleyicidir.

Örneğin, "P3Y6M4DT12H30M5S", "üç yıl, altı ay, dört gün, on iki saat, otuz dakika ve beş saniye" süresini temsil eder.

Göstergeleri dahil tarih ve saat öğeleri, değerleri sıfırsa çıkarılabilir ve daha düşük hassasiyet için daha düşük düzey öğeler de çıkarılabilir. Örneğin, "P23DT23H" ve "P4Y" kabul edilebilir süre temsilleridir. Bununla birlikte, en az bir eleman mevcut olmalıdır, bu nedenle "P", 0 saniye süreyle geçerli bir temsil değildir. Ancak "PT0S" veya "P0D" hem geçerlidir hem de aynı süreyi temsil eder.

Belirsizliği gidermek için, "P1M" bir aylık bir süredir ve "PT1M" bir dakikalık bir süredir (zaman değerinden önce gelen T'ye dikkat edin). Kullanılan en küçük değer, yarım yılı göstermek için "P0.5Y" deki gibi bir ondalık kesire de sahip olabilir. Bu ondalık kesir, bir virgül veya a tam durak, "P0,5Y" veya "P0.5Y" deki gibi. Standart, aşağıda belirtilenler dışında bir süre temsilindeki tarih ve saat değerlerinin "taşıma noktalarını" aşmasını yasaklamaz. Bu nedenle, aynı süreyi temsil etmek için "PT36H" ve "P1DT12H" kullanılabilir. Ancak, "PT36H" nin "P1DT12H" ile aynı şey olmadığını unutmayın. Günışıgından yararlanma süresi.

Alternatif olarak, birleşik tarih ve saat gösterimlerine dayalı bir süre formatı, iletişim kuran taraflar arasındaki anlaşmayla ya temel format PYYYYAAGDThmmss veya genişletilmiş formatta kullanılabilir. P [YYYY] - [AA] - [GG] T [ss]: [mm]: [ss]. Örneğin, yukarıda gösterilen ilk süre "P0003-06-04T12: 30: 05". Ancak, ayrı tarih ve saat değerleri, bunların modüller (örneğin, ay için 13 veya saat için 25 değerine izin verilmez).[34]

Standart, bir süreyi bir sonraki bölümde tartışılan zaman aralıklarının bir parçası olarak tanımlasa da, süre formatı (veya bunun bir alt kümesi), Java 8 Süre sınıfında olduğu gibi, zaman aralıklarından bağımsız olarak yaygın şekilde kullanılmaktadır.[35][36]

Zaman aralıkları

<start>/<end>
<start>/<duration>
<duration>/<end>
<duration>

Bir zaman aralığı, iki zaman noktası arasındaki araya giren zamandır. Araya giren sürenin miktarı bir süre ile ifade edilir (önceki bölümde anlatıldığı gibi). İki zaman noktası (başlangıç ​​ve bitiş), birleşik bir tarih ve saat temsili veya sadece bir tarih temsili ile ifade edilir.

Bir zaman aralığını ifade etmenin dört yolu vardır:

  1. "2007-03-01T13: 00: 00Z / 2008-05-11T15: 30: 00Z" gibi bir başlangıç ​​ve bitiş
  2. Başlangıç ​​ve süre, örneğin "2007-03-01T13: 00: 00Z / P1Y2M10DT2H30M"
  3. Süre ve bitiş, örneğin "P1Y2M10DT2H30M / 2008-05-11T15: 30: 00Z"
  4. Yalnızca süre, örneğin "P1Y2M10DT2H30M", ek içerik bilgileri ile

Bunlardan ilk üçü, bir ile ayrılmış iki değer gerektirir aralık belirleyici bu genellikle bir katılaşmadır (daha yaygın olarak bir eğik çizgi "/"). ISO 8601-1: 2019 Bölüm 3.2.6, "Bir solidus, iletişim ortaklarının karşılıklı mutabakatıyla çift kısa çizgi [" - "] ile değiştirilebilir." Ve önceki sürümlerde "2000–2002 gibi gösterimler kullanıldı. ".[37] Solidus yerine çift tire kullanılması bilgisayara dahil edilmeye izin verir dosya adları.[38] Solidus bir ayrılmış karakter ve yaygın işletim sistemlerinde bir dosya adında izin verilmez.

/ ifadeleri için, bitiş değerinde herhangi bir öğe eksikse, bunların saat dilimini içeren başlangıç ​​değeriyle aynı olduğu varsayılır. Standardın bu özelliği, zaman aralıklarının kısa ve öz gösterimlerine izin verir. Örneğin, başlangıç ​​ve bitiş zamanlarını içeren iki saatlik bir toplantının tarihi basitçe "2007-12-14T13: 30/15: 30" olarak gösterilebilir, burada "/ 15: 30" ima eder "/ 2007-12- 14T15: 30 "(başlangıç ​​ile aynı tarih) veya" / 03-14 "ile" / 2008-03 "anlamına gelen" 2008-02-15 / 03-14 "şeklinde aylık fatura döneminin başlangıç ​​ve bitiş tarihleri -14 "(başlangıçla aynı yıl).

Zaman aralığını temsil etmek için daha fazla kesinlik isteniyorsa, gösterime daha fazla zaman öğesi eklenebilir. Belirtilen aralık "2007-11-13/15" herhangi bir zamanda başlayabilir 2007-11-13 ve herhangi bir zamanda bitirin 2007-11-15, buna karşılık "2007-11-13T09: 00 / 15T17: 00" başlangıç ​​ve bitiş zamanlarını içerir.Tüm başlangıç ​​ve bitiş tarihlerini açıkça dahil etmek için aralık şu şekilde temsil edilir: "2007-11-13T00: 00 / 16T00: 00".

Tekrarlayan aralıklar

Rn /
R /

Yinelenen aralıklar, "4.5 Yinelenen zaman aralığı" maddesinde belirtilmiştir. Bir aralık ifadesinin başına "R [n] /" eklenerek oluşturulurlar, burada R harfin kendisi olarak kullanılır ve [n], tekrar sayısı ile değiştirilir. [N] değerini dışarıda bırakmak, sınırsız sayıda tekrar anlamına gelir. Aralık, başlangıcı belirtiyorsa (yukarıdaki 1 ve 2 numaralı formlar), bu, yinelenen aralığın başlangıcıdır. Aralık, sonu belirtiyor ancak başlangıcı belirtmiyorsa (yukarıdaki 3. form), bu, tekrarlanan aralığın sonudur. Örneğin, "P1Y2M10DT2H30M" aralığını şu tarihten başlayarak beş kez tekrarlamak için "2008-03-01T13: 00: 00Z", kullan "R5 / 2008-03-01T13: 00: 00Z / P1Y2M10DT2H30M".

Kesilmiş gösterimler

ISO 8601: 2000, bir tarih veya saatin önde gelen bileşenlerinin çıkarıldığı durumlarda (anlaşma ile) kesmeye izin verdi. Özellikle, bu iki basamaklı yılların kullanılmasına ve belirsiz biçimlerin YY-AA-GG ve YYAAGG olarak kullanılmasına izin verdi. Bu hüküm ISO 8601: 2004'te kaldırılmıştır.

Kesilmiş gösterimler
TürTemel FormatTemel ÖrnekGenişletilmiş BiçimGenişletilmiş Örnek
Zımni yüzyılda belirli bir tarihYYAAGG851026YY-AA-GG85-10-26
Zımni yüzyılda belirli bir yıl ve ay-YYMM-8510-YY-AA-85-10
Zımni yüzyılda belirli bir yıl-YY-85Yok
Belirtilen yılda bir ayın belirli bir günü--MMDD--1026--MM-DD--10-26
Zımni yılda belirli bir ay--MM--10Yok
Zımni ayda belirli bir gün--- DD---26

Yalnızca birinci tür (zımni yüzyılda belirli bir tarih) baştaki - yüzyıldır. Diğer tüm formatların bir önde gelen - ihmal edilen yüzyıl, yıl ve ay başına.

Standartlaştırılmış uzantılar

ISO 8601-2: 2019, ISO 8601 tarih ve saat biçimlerine bir dizi standartlaştırılmış uzantı tanımlar. Genişletilmiş Tarih / Saat Formatı (EDTF), ISO 8601 profilinin bir örneği olarak verilmiştir.

Kullanım

Üzerinde İnternet, World Wide Web Konsorsiyumu (W3C), hata olasılığını ve yazılımın karmaşıklığını azaltmak için desteklenen tarih ve saat formatlarını kısıtlayan bir standart profilini tanımlarken ISO 8601'i kullanır.[39]

ISO 8601'e birkaç spesifikasyon ile atıfta bulunulur, ancak ISO 8601'in tüm seçenekleri her zaman kullanılmaz. Örneğin, çeşitli elektronik program rehberi TV, dijital radyo vb. standartları, zaman ve sürelerdeki noktaları tanımlamak için çeşitli formlar kullanır. ID3 ses meta veri spesifikasyonu ayrıca ISO 8601'in bir alt kümesini kullanır.[40] X.690 kodlama standartları Genelleştirilmiş Zaman ISO 8601'in başka bir alt kümesini kullanır.

Ticaret

ISO 8601 hafta tarihi, 2006 itibariyle, Amerika Birleşik Devletleri'ndeki büyük marka ticari ambalajlarında temel haliyle ortaya çıktı. Görünüşü, belirli ambalajlama, konserve veya şişeleme tesisine herhangi bir markadan daha fazla bağlıydı. Format, özellikle kalite güvencesi için kullanışlıdır, böylece üretim hataları, çalışma haftalarına kadar kolayca takip edilebilir ve ürünler, geri çağırma için doğru bir şekilde hedeflenebilir.

RFC'ler

RFC 3339 ISO 8601'in bir profilini tanımlar İnternet protokolleri ve standartları. Açık bir şekilde, önceki süreleri ve tarihleri ​​hariç tutar. ortak dönem. Hafta numaraları ve sıra günleri gibi daha karmaşık biçimlere izin verilmez.[41]

RFC 3339 ISO 8601'in yasakladığı sıfır zaman dilimi farkının "-00: 00" olarak belirtilmesine izin verme açısından ISO 8601'den sapma gösterir. RFC 3339 "-00: 00", tercih edilen bir zaman dilimini belirtmediği anlamını taşımayı amaçlarken, uyumlu "+00: 00" veya sıfır olmayan herhangi bir ofset, kullanılan ofsetin tercih edildiğini belirtir. "-00: 00" ile ilgili bu kural, daha önceki RFC'lerden türetilmiştir, örneğin RFC 2822 zaman damgaları için kullanır e-posta başlıklar. RFC 2822 zaman damgası formatının herhangi bir kısmının ISO 8601'e uygun olduğunu iddia etmedi ve bu nedenle bu konvansiyonu çatışma olmadan kullanmakta özgürdü.

Ulusal standartlar olarak benimseme

AvustralyaISO 8601-2007 olarak
AvusturyaÖNORM ISO 8601 (ÖNORM EN 28601 değiştirildi)
BelçikaNBN EN 28601 (1993)
BrezilyaNBR 5892: 2019
KanadaCAN / CSA-Z234.4-89 (R2007)[42]
KolombiyaNTC 1034: 2014 Kaynak ICONTEC (Bu standart ISO 8601: 2004 ile aynıdır)
ÇinGB / T 7408-2005
Çek CumhuriyetiČSN ISO 8601 (ČSN EN 28601 değiştirildi)
DanimarkaDS / ISO 8601: 2005 (DS / EN 28601'in yerini aldı)
EstonyaEVS 8: 2008; EVS-ISO 8601: 2011
Avrupa NormuEN ISO 8601, EN 28601: 1992 (7 Ekim 2011'de iptal edildi)
FinlandiyaSFS-EN 28601
FransaNF Z69-200; NF EN 28601: 1993-06-01 (iptal edildi)
AlmanyaDIN ISO 8601: 2006-09 (DIN EN 28601: 1993-02'nin yerini aldı); ilgili: DIN 5008: 2011-04 (DIN 5008: 2005-05, DIN 5008: 2001-11, DIN 5008: 1996-05 değiştirildi)
YunanistanELOT EN 28601
MacaristanMSZ ISO 8601: 2003
İzlandaIST EN 28601: 1992 (eski)
HindistanIS 7900: 2001
İrlandaIS / EN 28601: 1993
İtalyaUNI EN 28601 (1993)
JaponyaJIS X 0301: 2002
Kore CumhuriyetiKS X ISO 8601
LitvanyaLST ISO 8601: 2006 (LST ISO 8601: 1997'nin yerini aldı)
LüksemburgITM-EN 28601
HollandaNEN ISO 8601, NEN EN 28601 (1994), NEN 2772
NorveçNS-ISO 8601
PolonyaPN-EN 28601: 2002 (2008 itibariyle kullanılmamaktadır. Karşılığında standart verilmemiştir.[43])
PortekizNP EN 28601
RusyaГОСТ ИСО 8601-2001 (güncel), ГОСТ 7.64-90 (eski)
Güney AfrikaSANS 8601: 2009
ispanyaUNE EN 28601: 1995
İsveçSS-ISO 8601: 2011 (Onaylı 2011-11-01, SS-ISO 8601'in yerini alıyor)
İsviçreSN ISO 8601: 2005-08 (SN-EN 28601: 1994 değiştirildi)
TayvanCNS 7648
TaylandTIS 1111: 2535 (1992)
TürkiyeTS ISO 8601
UkraynaДСТУ ISO 8601: 2010
Birleşik KrallıkBS ISO 8601: 2004, BS EN 28601 (1989-06-30)
Amerika Birleşik DevletleriANSI INCITS 30-1997 (R2008) ve NIST FIPS PUB 4-2
VietnamTCVN 6398-1: 1998


Ayrıca bakınız

Notlar ve referanslar

  1. ^ a b son ISO 8601: 2000'de, kullanımda "RFC 6350 - vCard Biçim Belirtimi". IETF. Ağustos 2011. Alındı 2016-06-29. [ISO.8601.2000], Bölüm 5.2.1.3 d), e) ve f) 'de belirtildiği gibi kesik gösterime izin verilir., ISO 8601: 2004'te kaldırılmış olmasına rağmen
  2. ^ a b ISO 8601: 2004 [E] bölüm 1 Kapsam
  3. ^ ISO 8601: 2004 (E), ISO, 2004-12-01, Ek A: ... Bu kavramdan, diğer tüm tarih ve saat değerlerinin temsilleri mantıksal olarak türetilmiştir; böylece, ISO 2014, ISO 3307 ve ISO 4031'in yerini almıştır. ... Sıralı tarihler (ISO 2711) ve hafta numaralandırma sistemi (ISO 2015) aracılığıyla belirli bir tarihin belirlenmesi, bu Uluslararası Standardın temel konseptinin de kapsayabileceği alternatif yöntemlerdir; böylece, ISO 2015 ve ISO 2711 artık yerini almıştır.
  4. ^ ISO 8601: 2004 (E). ISO. 2004-12-01. s. iv Önsöz.
  5. ^ "TC 154 Ticaret, endüstri ve idarede işlemler, veri öğeleri ve belgeler". Teknik komiteler. ISO.
  6. ^ "ISO / DIS 8601-1: 2016-10-26" (PDF). Arşivlenen orijinal (PDF) 2017-10-19 tarihinde.
  7. ^ "Alman taslağı E DIN ISO 8601-1: 2017-02 Datenelemente und Austauschformate - Informationsaustausch - Darstellung von Datum und Uhrzeit - Teil 1: Grundlegende Regeln (ISO / DIS 8601-1: 2016)". DIN-Normenausschuss Informationstechnik und Anwendungen (NIA).
  8. ^ "Genişletilmiş Tarih / Saat Biçimi (EDTF) Özelliği". Kongre Kütüphanesi. 2019-10-08 [2019-02-04, 2014, 2012]. Arşivlendi 2020-03-07 tarihinde orjinalinden. Alındı 2020-03-07.
  9. ^ "Genişletilmiş Tarih / Saat Biçimi (EDTF) Arka Planı". Kongre Kütüphanesi. 2019-10-08 [2019-03-01]. Arşivlendi 2020-03-07 tarihinde orjinalinden. Alındı 2020-03-07.
  10. ^ "Genişletilmiş Tarih / Saat Biçimi (EDTF) 1.0 2012/2014". Taslak Gönderim. Kongre Kütüphanesi. Arşivlenen orijinal 2017-07-15 tarihinde. Alındı 2017-07-15.
  11. ^ "ISO / WD 8601-2: 2016-02-16" (PDF). Arşivlenen orijinal (PDF) 2017-10-19 tarihinde.
  12. ^ "ISO / DIS 8601-2: 2016-10-26" (PDF). Arşivlenen orijinal (PDF) 2017-10-20 tarihinde.
  13. ^ "Alman taslağı E DIN ISO 8601-2: 2017-02 Datenelemente und Austauschformate - Informationsaustausch - Darstellung von Datum und Uhrzeit - Teil 2: Erweiterungen (ISO / DIS 8601-2: 2016)". DIN-Normenausschuss Informationstechnik und Anwendungen (NIA).
  14. ^ a b ISO, SSS: Tarihlerin ve Saatin sayısal gösterimi
  15. ^ "Tarih ve Saat Biçimleri".
  16. ^ ISO 8601: 2004 bölüm 2.3.3 temel biçimi
  17. ^ ISO 8601'in önceki sürümleri şu kelimeyi kullanıyordu: doğruluk, değil hassas, ilgili bölümde, örneğin: 2.3.7 azaltılmış doğrulukla gösterim. Bu, ISO 8601-1: 2019'da düzeltilmiştir.
  18. ^ Doggett, L. E. (1992). "Takvimler". P. K. Seidelmann (ed.). Astronomik Almanak'a Açıklayıcı Ek. Sausalito, California: Üniversite Bilim Kitapları. s. 580. ISBN  0-935702-68-7. Arşivlenen orijinal 2004-04-01 tarihinde. Miladi takvim bugün sivil kullanım için uluslararası bir standart olarak hizmet vermektedir.
  19. ^ ISO 8601: 2004 (E). ISO. 2004-12-01. bölüm 4.1.2.1 Genel.
  20. ^ ISO 8601: 2004 (E). ISO. 2004-12-01. 3.5 Genişletme ... Ortakların bilgi alışverişinde karşılıklı mutabakatı ile, takvim yılını tanımlayan bileşenin genişletilmesine izin verilir, aksi takdirde dört rakamla sınırlıdır. Bu, tam temsillerle desteklenen aralık dışındaki takvim yıllarındaki tarihlere ve zamanlara, yani yılın başlangıcından [0000] önce veya yıl sonundan [9999] sonra referans yapılmasını sağlar.
  21. ^ ISO 8601: 2004 bölüm 3.4.2, 4.1.2.4
  22. ^ Örneğin, standardın Ek B.1.1'ine bakınız.
  23. ^ "RFC 6350 - vCard Biçim Belirtimi". IETF. Ağustos 2011. Alındı 2016-06-29. [ISO.8601.2000], Bölüm 5.2.1.3 d), e) ve f) 'de belirtildiği gibi kesik gösterime izin verilir.
  24. ^ ISO 8601-1: 2019 bölüm 5.3.1.3 Düşük hassasiyetli temsiller
  25. ^ ISO 8601-1: 2019 bölüm 3.1.3.9 Ondalık işareti
  26. ^ ISO 8601: 2004 (E), ISO, 2004-12-01, 4.2.2.4 ... ondalık kesir, ISO 31-0'da belirtilen ondalık işareti, yani virgül [,] veya nokta [.] İle tam sayı bölümünden bölünecektir. Bunlardan virgül tercih edilen işarettir.
  27. ^ "ISO 8601 Biçimi". technet.microsoft.com. Alındı 2017-10-16.
  28. ^ "İLETİŞİM TALİMATLARI GENEL ACP 121 (I)" (PDF). Kombine İletişim Elektronik Kartı. Ekim 2010. Alındı 2018-01-15.
  29. ^ McCarthy, Dennis D.; Seidelmann Kenneth P. (2009). Zaman: Dünya Dönüşünden Atom Fiziğine. Weinheim: Wiley-VCH Verlag GmbH & Co. KGaA. s. 10. ISBN  978-3-527-40780-4.
  30. ^ ISO 8601-1: 2019 bölüm 3.2.4, ISO 8601: 2004 bölüm 3.4.2
  31. ^ RFC 3339 - Bilinmeyen yerel uzaklık kuralı
  32. ^ "ISO 8601: 2004 (E)". ISO. 2004-12-01. 4.3.2 NOT: Bilgi alışverişinde ortakların karşılıklı mutabakatı ile, [T] karakteri, bir tarih ve saat gösteriminin bu Uluslararası Standartta tanımlanan diğerleriyle karıştırılma riskinin olmadığı uygulamalarda çıkarılabilir. Alıntı dergisi gerektirir | günlük = (Yardım)
  33. ^ "RFC 3339 ". 2002-07-01. 5.6. NOT: ISO 8601, tarih ve saati "T" ile ayrılmış olarak tanımlar. Bu sözdizimini kullanan uygulamalar, okunabilirlik açısından, bir boşluk karakteri ile ayrılmış (diyelim) tam tarih ve tam zamanlı bir tam tarih belirtmeyi seçebilir. Alıntı dergisi gerektirir | günlük = (Yardım)
  34. ^ ISO 8601: 2004 bölüm 4.4.3.3 Alternatif biçim, ISO 8601-1: 2019 bölüm 5.5.2.4 Alternatif biçim
  35. ^ "Java 8 Sınıf Süresi". Java Platform Standart Sürümü 8. Oracle. Alındı 2017-10-07.
  36. ^ "Amazon Alexa Süresi". Amazon Geliştirici. Amazon.com. Alındı 2017-10-07.
  37. ^ "ISO 8601 hakkında bilgi, tarih ve saat gösterim standardı". Cs.tut.fi. Alındı 2012-08-29.
  38. ^ "ISO 8601 - Zamanlarla (ve Tarihlerle) Başlarken". Hydrogold. 2012-01-01. Alındı 2013-08-13.
  39. ^ Reuters'tan W3C'ye Tarih ve Saat Biçimleri hakkında not
  40. ^ Nilsson, M. (2000-11-01). "ID3 etiketi sürümü 2.4.0 - Ana Yapı". id3.org. s. §4. Alındı 2009-09-27.
  41. ^ RFC 3339 Bölüm 5.6
  42. ^ Kanada Ulusal Standardı, "CAN / CSA-Z234.4-89 (R2007): Tüm Sayısal Tarihler ve Saatler". Kanada Standartlar Konseyi. 31 Aralık 1989. Alındı 29 Mart 2018.
  43. ^ Czubla, Albin (2020-12-04). "Główny Urząd Miar" (PDF). Główny Urząd Miar. Arşivlendi (PDF) 2020-12-04 tarihinde orjinalinden. Alındı 2020-12-04.

Dış bağlantılar

Implementation overview