август 17, 2017

ISO 8601 Формат на Датум

Source: https://hermetic.ch/cal_stud/formats.htm

Peter Meyer

Познато е дека во моментов датуми (според грегоријанскиот календар) се изразува во неколку различни начини во различни земји. На пример, што британскиот пишуваат како “8/3/96” Американците пишуваат како “3/8/96” и Швајцарија како “8.3.96” или “08.03.96”. Како секојдневниот живот станува интернационализира (и интернет корисниците брзо да се напомене дека информации се достапни од сите делови на светот) може да се најде себеси читање на документи во кои различни датум формати се користат дури и покрај тоа што документи се во ист јазик. Кога се прочита дека нешто се случи на “3/8/96”, еден може да се остави се прашуваат дали тоа се случи во март или во август. Животот ќе биде малку полесно ако цената се изразени во заедничка формат.

Бројно изразена датум (во сите најчесто користени календарски системи) е израз кој се состои првенствено на низа од три броеви специфицирање година, месец и ден. Постојат неколку компоненти на начинот на кој датум може да се изрази, но главната се:

  • Редоследот по кои се изразени година, месец и ден. 
    Во овој големиот јаз е меѓу Европејците, кои пишуваат  ден/месец/година , а жителите на САД, кои пишуваат  месец/ден/година .
  • Начинот на кој на три броеви, кога напишани, се тргна од едни на други. 
    Во овој Американците обично се подели на броеви со “/”, додека Европејците се следат различни национални конвенции, обично со помош на “/”, или “.” “-“.
  • Дали броеви помалку од 10 се напишани со водечка нула. 
    Сегашната практика варира.
  • Дали постојат ограничувања на датуми кои може да се изрази, и ако е така дали некој начин е предвидено да се изрази датуми надвор од оваа граница. 
    Во моментов, во кои најчесто се користат системи за изразување датуми во Грегоријанскиот календар, без оглед на формат на датум, датира пред 1/1/1 не може да се изрази без помошни употреба на букви “КК” (или еквивалентно “п.н.е.”). Ова значи дека бројот на годината треба да се толкуваат освен како и обично (конкретно годината  n  п.н.е. е година која започна  n  години пред почетокот на 1 година).

Скоро секаде на овој веб-сајт датуми се изразени во форматот кој е предложен од страна на Меѓународната организација за стандарди (ISO 8601). Во однос на четири компоненти што споменавме погоре, овој датум формат е како што следува:

  • Редоследот по кои се изразени година, месец и ден. 
    Година, а потоа месец, а потоа ден.
  • Начинот на кој на три броеви, кога напишани, се тргна од едни на други. 
    Во знак “-” се користи за да ги разделат.
  • Дали броеви помалку од 10 се напишани со водечка нула. 
    Да, на пример, на третиот ден или месец се изразува како “03”.
  • Дали постојат ограничувања на датуми кои може да се изрази. 
    Годината се изразува во начинот на астрономи и chronologists. 0 година е година што и претходи година 1 (ака 1 п.н.е.). Година -1 е година што и претходи година 0 (ака 2 п.н.е.). Општо земено, година -n е година која започна n + 1 години пред почетокот на 1 година (за година -n = годината n + 1 п.н.е.). Со користење на овој систем на астрономски години броеви не постојат граници на датуми кои може да се изрази во овој формат на датум.

ISO 8601 формат на датум може да се користи и со Грегоријан и со системите на Јулијан (и со многу други календарски системи). Датуми во јулијанскиот календар се со “Ј” означени, и оние според грегоријанскиот календар (кога тоа е направено експлицитно) се означени со “G” означени.

Како што е наведено погоре, во Грегоријанскиот календар датира пред употреба 1-01-01 години означува “п.н.е.”, која не е во согласност со стандардот на значат години ISO 8601 со помош на астрономскиот систем (според кои еден ден пред 1-01 -01 е назначен 0-12-31, а на денот една година и еден ден пред 1-01-01 е назначен -1-12-31). Така, денес, како што се -1-12-31 не е датум во грегоријанскиот календар. Ние може да го користат терминот “ера Календар” да се означи дека календар чија структура е иста како и на Грегоријан, но кој означува години не според Грегоријанскиот АД / п.н.е. систем, но според астрономскиот систем. Тие датуми можат да бидат означени со “CE”, па на 31 декември во годината 2 век п.н.е. е -1-12-31 CE во Календар нашата ера.


Дуплирање на месеци и денови
Некои лунарниот календар додадете дополнителна месец до неколку години. Ако ова следи последниот месец од една нормална година потоа бројот на месецот е само еден повеќе од бројот на месеци во една нормална година. Сепак, некои календари (на пример, еврејскиот) внесете дополнителен месец со удвојување еден месец. Ако користите немодифициран ISO 8601 формат на датум, а тоа е од шест месеци кој е дупликат, тогаш на денот на првите денови на месеци ќе биде во облик:

… година, 06-01, 06-01 години, за една година 07.01, …
што е јасно неприфатливо, бидејќи датуми со еден месец “6” ќе биде двосмислена.

Се смета дека овој проблем може да се реши со промена на пример на сепаратор на датумот на пред месец од “-” да “+”, а потоа над датуми се кандидира:

… година, 06-01, 06-01 година +, за една година 07.01, …
нотација датумот за календар кој дупликат неколку дена во рок од еден месец (бизарна како тоа може да изгледа) може да биде променета на ист начин, на пример:

… година, 02-22, 02-23 години, за една година 02 + 23, 02-24 години, …
Еден календар кој дупликат години (не се познати за да го стори тоа) би можеле да се решат на ист начин, на пример:

… 2000-01-01, 2001-01-01, + 2001-01-01, 2002-01-01, …
и за негативни години:

… -999-01-01, -998-01-01 + -998-01-01, -997-01-01, …
Тоа е секогаш можно да се измисли (или откријат) календари кои не се лесно да им овозможи на изразување на цената со користење на формат на датум на ISO 8601, но формат на датум на ISO 8601 (дури и кога се менува како што погоре) не е наменет да биде универзална датум календар нотација .

Тоа е, сепак, сместување. Погледнете ги, на пример, календар, вклучувајќи месеци, кои бројат деновите 1-15, но тогаш се брои до 1. Ако ова е донекаде точно лунарниот календар тогаш месеци би секогаш или обично имаат 29 или 30 дена, па на денови од месецот би можеле да бидат нумерирани или

1, 2, 3, …, 13, 14, 15, 14, 13, 12, …, 2, 1 (29 дена)
или

1, 2, 3, …, 14, 15, 15, 14, 13, …, 2, 1 (30 дена)
Во овој случај, како и погоре, сепаратор за датум претходните денот може да се промени за да се “+”, така што на датуми во 30-дневен месец ќе биде во облик:

YM-01, …, YM-14, YM-15, YM + 15, YM + 14, …, YM +01


Исто така види:


Кликнете тука за 2002/01/04 порака од Иан Galpin со дополнителни линкови до ISO 8601 веб страници.


Лесно Датум конвертор
Софтвер за Windows, за додавање на бројот на деновите за датум, пресметување на бројот на денови меѓу два датуми (со или без викенд дена), и конвертирање меѓу ера (Грегоријанскиот) датуми, Џулијан датира, недела ISO датуми, Херметичка Скок недела датуми, Џулијан броеви ден и реден датуми на формата година-ddd.