Tüm makaleler

ISO 8601 Duration: bir süre standart biçimde nasıl yazılır

ISO 8601 standardı yalnızca bir tarih biçimi değil, aynı zamanda bir süre yazma biçimi de tanımlar — "1 saat 30 dakika"yı açık ve makine tarafından okunabilir şekilde tanımlayan PT1H30M gibi bir dize.

Biçimin yapısı

Dize her zaman P (period) harfiyle başlar. Tarih bileşenleri (yıllar, aylar, günler) hemen P'den sonra gelir, zaman bileşenleri (saatler, dakikalar, saniyeler) ise tarih kısmını zaman kısmından ayıran T harfinden sonra gelir. Örneğin, P2DT4H "2 gün ve 4 saat" anlamına gelir.

T harfi neden gereklidir

T ayırıcısı olmadan, M harfi belirsiz olurdu — hem ayları (tarih kısmında) hem de dakikaları (zaman kısmında) ifade eder. Bu yüzden P1M "1 ay" anlamına gelirken, PT1M "1 dakika" anlamına gelir.

iCalendar takvim dosyalarındaki DURATION alanı

Outlook, Google Takvim ve birçok başka uygulamanın kullandığı .ics dosyalarının temelini oluşturan iCalendar standardı (RFC 5545), bir etkinliğin bitiş saatini doğrudan belirtmek yerine süresini DURATION alanıyla tam olarak bu ISO 8601 sözdizimiyle tanımlayabilir — bir buçuk saatlik bir etkinlik dosyada DURATION:PT1H30M olarak yazılır.

Bu neden gereklidir

  • Üçüncü taraf bir API yanıtından bir videonun veya etkinliğin süresini çözmek.
  • Kendi API'niz veya veri akışınız için geçerli bir ISO 8601 duration dizesi oluşturmak.
  • Süreleri insan tarafından okunabilir bir biçim ile makine tarafından okunabilir ISO gösterimi arasında dönüştürmek.

Gösterimde kesirli saniyeler

ISO 8601 standardı, dizenin yalnızca son (en küçük) bileşeninde kesirli kısma izin verir — örneğin PT1.5S "1,5 saniye" anlamına gelirken, PT1H30.5M "1 saat 30,5 dakika" anlamına gelir. Sondaki bileşen dışında herhangi bir bileşende kesirli kısım standart tarafından öngörülmemiştir.

Aracı dene