ISO 8601

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Explicació de la norma ISO 8601: les tres extensions mostrades són vàlides.
Exemple: data i hora UTC
2021-08-21T09: 20Z
( actualització )

La norma ISO 8601 ( Elements de dades i formats d’intercanvi - Intercanvi d’informació - Representació de dates i hores ) és una norma internacional per a la representació de dates i hores .

Antecedents

Aquesta norma es va publicar per primera vegada el 15 de juny de 1988 per normalitzar diverses antigues normes ISO : ISO 2014 , ISO 2015 , ISO 2711 , ISO 3307 i ISO 4031 . Es va actualitzar el 21 de desembre de 2000 i posteriorment amb la norma ISO 8601: 2004 actual publicada el 3 de desembre de 2004 .

La notació numèrica big-endiana de dates va ser introduïda per la ISO 2014, la ISO 2015 introdueix el sistema de numeració setmanal, mentre que a la ISO 2711 els dies es van identificar mitjançant nombres ordinaris.

La necessitat d'una norma sorgeix del fet que la data formulada com a 04-09-03 pot indicar:

  • El 4 de setembre del 2003 (o fins i tot el 1903) a Europa i altres països,
  • 9 d'abril de 2003 als Estats Units d'Amèrica ,
  • 3 de setembre de 2004 segons la norma ISO 8601. [1]

Com podeu comprendre fàcilment, aquesta incertesa pot crear molts problemes en el comerç i les comunicacions internacionals.

La norma ISO 8601 es divideix actualment en 8601-1 i 8601-2; l’edició actual és el 2019.

Principis generals

Els valors de data i hora s’organitzen des del més significatiu fins al menys significatiu. Cada valor (d'anys, mesos, minuts, etc.) ha de tenir un nombre fix de dígits al qual es pot arribar afegint zeros; per exemple, el 3 de setembre del 2006 s’ha d’escriure el 03-09-2006 i no el 9-09-2006.

Són possibles dos tipus de representació: la forma bàsica amb el menor nombre de caràcters, la forma ampliada per a una major facilitat de lectura per part de l'usuari humà. Per exemple, el 2007-07-24 té una forma estesa, mentre que en una forma bàsica és 20050724, això és possible sense ambigüitats precisament perquè cada valor ha de tenir un nombre fix de dígits.

Es poden ometre paràmetres menys significatius, de manera que 2004-05 significa "maig de 2004". Finalment, l'estàndard permet utilitzar valors decimals en segons quan es requereix una alta precisió.

Al teu lloc

La norma ISO 8601 utilitza el calendari gregorià , que és un estàndard de facto en el comerç internacional.

El calendari gregorià també s’utilitza per a dates anteriors al 15 d’octubre de 1582 (1582-10-15), data d’introducció d’aquest papa del papa Gregori XIII . El dia anterior, el 4 d' octubre de 1582 segons el calendari julià , es coneix llavors com 1582-10-14. [2]

Es tracta, doncs, d’un calendari gregorià analeptic (analeptic en el sentit de reconstruït, retrodatat).

Anys

± AAAA

L'estàndard preveu l'ús de quatre dígits per evitar l' error del mil·lenni , que és una ambigüitat en la indicació de l'any. Els anys abans de Crist (BC) han d’anar necessàriament precedits d’un signe , a part de l’any 1 aC, tal com s’explica a continuació. Per als després de Crist (AD) és possible, però no obligatori, posar un signe + .

Durant els anys anteriors a Crist, la norma ISO adopta la notació dels astrònoms que preveu l'any zero, absent en la notació dels historiadors; l'any 1 aC s'indica amb 0000, l'any 2 aC amb -0001 i així successivament; per exemple, la data de l’1 de març aC s’escriu el 01-03-01; la data de l’1 de març del 2 aC s’escriu -0001-03-01.

La versió ISO 8601: 2000 donava la possibilitat d’escriure l’any amb només dos dígits, però aquest formulari s’ha suprimit a la versió del 2004 on sempre s’han d’utilitzar almenys quatre dígits.

Setmanes

AAAA-Www o bé AAAAWww
AAAA-Www-D o bé AAAAWww

Una altra manera d’indicar la data exigida per la norma ISO 8601 és la setmana . El format comença amb l'any [AAAA], després la majúscula "W" seguida del número de la setmana [WW] de l'1 al 53; alguns anys acaben a la setmana 52. El dia de la setmana [D] també es pot indicar amb un dígit d'1 per a dilluns a 7 per a diumenge . Aquest formulari s’utilitza àmpliament a les empreses.

La setmana 01 de l'any es defineix com (són tots equivalents):

  • la setmana que conté el primer dijous de l'any,
  • la setmana que conté el 4 de gener,
  • la primera setmana que conté quatre o més dies de l'any nou,
  • la setmana que comença el dilluns entre el 29 de desembre i el 4 de gener,
  • si l'1 de gener és dilluns, dimarts , dimecres o dijous, és a la setmana 01. Si es produeix un divendres , dissabte o diumenge, és a la darrera setmana (52 o 53) de l'any anterior.

El nombre de setmanes es pot calcular comptant els dijous: la setmana 12 conté el dotzè dijous de l'any.

Fórmules per a fulls de càlcul

A continuació es mostren fórmules de fulls de càlcul per calcular l'any ISO i la setmana ISO d'un dia (provat amb Microsoft Excel 2007 italià i OpenOffice Calc 3.4.0 italià). A1 és la cel·la que conté la data a considerar:

  • YEAR.ISO (A1) = YEAR (A1 - WEEKDAY (A1,2) + 4)

(Any gregorià del dijous de la mateixa setmana que A1)

  • WEEK.ISO (A1) = 1 + (A1 - WEEKDAY (A1,2) - DATE (YEAR (A1 - WEEKDAY (A1,2) + 4); 1; 4) + WEEKDAY (DATE (YEAR (A1 - WEEKDAY ( A1; 2) + 4); 1; 4); 2)) / 7

(distància en setmanes entre el primer dijous de l'any ISO i el dijous de la mateixa setmana que A1).

Per mostrar la setmana correctament, heu de seleccionar General o Nombre com a categoria en format de cel·la .

Data completa

AAAA-MM o bé AAAAMM
AAAA-MM-DD o bé AAAAMMDD

La data completa és la forma més familiar per a la majoria de la gent. Com s'ha esmentat anteriorment [AAAA] indica l'any de manera única. [MM] indica el mes en xifres, de l'1 al 12. [DD] indica el dia del mes, de l'1 al 31. Per exemple, "5 d'abril de 1981" es pot escriure com a 05/04/1981 de forma ampliada o 19810405 en forma bàsica.

L'estàndard també permet utilitzar menys precisió. Per exemple, podeu escriure "1981-04" per referir-vos al mes "abril de 1981"; o simplement "1981" per indicar l'any.

L'any ISO comença el dilluns de la setmana 01 i acaba el diumenge anterior a l'inici del nou any ISO. Conté 52 o 53 setmanes senceres. El número de l'any ISO és diferent del de l'any gregorià com a màxim els primers divendres, dissabtes i diumenges de l'any nou; i els darrers dilluns, dimarts i dimecres de l'any vell. Dijous, l'any ISO sempre és el mateix que l'any gregorià. Exemples:

  • El 29/12/2008 és el "2009-W01-1",
  • 03-01-2010 és "2009-W53-7".

Dates ordinaris

AAAA-DDD o bé AAAAJS

Les dates ordinaris són una forma senzilla de representar un dia concret sense indicar el número de setmana o mes. Aquesta representació prediu l'any [AAAA] i el número de dia [DDD] de 001 a 365 o 366 en anys de traspàs . Per exemple, "1981-095" significa "1981-04-05" (5 d'abril de 1981).

Aquest sistema es fa referència amb freqüència, però de manera incorrecta, al dia julià .

Desenvolupaments futurs

La norma estableix que, per acord entre les parts comunicants, es poden utilitzar més de quatre dígits per indicar l'any. S'utilitza per representar anys abans del 10001 aC o després del 10000 . Tot i això, es poden produir ambigüitats si s’utilitza la forma bàsica, sense separadors. Per exemple, "200406" pot significar l'any 200406 o "juny de 2004". La ISO suggereix utilitzar una forma explícita de comunicació per evitar aquestes confusions, atès el mínim nombre de casos que es presenten.

Horaris

hh: mm: ss o bé hhmmss
hh: mm o bé hhmm
hh

La norma ISO 8601 utilitza el sistema les 24 hores com la majoria del món. La forma bàsica és [hh] [mm] [ss], mentre que la forma estesa és [hh]: [mm]: [ss]. [hh] indica el temps entre 00 i 23, [mm] fa referència als minuts de 00 a 59 i [ss] els segons sempre entre 00 i 59. Hi ha dues excepcions: la mitjanit es pot indicar amb el formulari 24:00 : 00 i els segons poden augmentar fins a 60 en el cas del minut de 61 segons .

Si no és necessari, es poden ometre els valors menys significatius, és a dir, utilitzeu les formes [hh]: [mm] o [hh].

També podeu indicar valors decimals mitjançant la coma (l’ús del punt està permès però no es recomana), per exemple 03:14:30 podeu escriure 03: 14,5 o, en forma bàsica, 0314,5.

La mitjanit és un cas especial, el mateix instant es pot indicar de dues maneres diferents; les paraules "1981-04-05T24: 00" i "1981-04-06T00: 00" són equivalents. La notació "00:00" s'utilitza al principi del dia, mentre que "24:00" al final del dia.

Jet lag

<hora> Z
<hora> ± hh: mm: ss o bé <hora> ± hhmmss
<hora> ± hh: mm o bé <hora> ± hhmm
<hora> ± hh

Si no hi ha cap indicació de la zona horària, se suposa que és la local. Això no crea problemes si la comunicació es produeix entre dues persones en una mateixa zona, però pot crear ambigüitat en les transaccions internacionals; per a això es recomana indicar la zona horària amb la notació estàndard.

UTC

Si l'hora està relacionada amb una zona pertanyent a la zona horària UTC , només cal afegir una "Z" després dels dígits, sense espais. Per exemple, "14:45:15 UTC" es pot escriure com a "14: 45: 15Z" o "144515Z".

Altres àrees

Les altres zones s’expressen indicant la diferència respecte a UTC en la forma ± [hh]: [mm], ± [hh] [mm] o ± [hh]. Per exemple, l' horari solar (hivern) italià es coneix com "+01: 00", "+0100" o simplement "+01", mentre que la llei amb "+02: 00", "+0200" o "+ 02 ". En escriure un horari, només s’ha d’indicar la diferència actual respecte a l’UTC, de manera que varia al llarg de l’any.

Totes aquestes hores indiquen la mateixa hora: "18: 30Z", "22: 30 + 04", "1130-0700" i "15: 00-03: 30".

Representacions combinades

<data> T <hora>

Per representar junts la data i l'hora, només cal que inseriu una "T" entre la data i l'hora indicades amb les vostres regles. Normalment s’utilitza la forma [AAAA] - [MM] - [DD] T [hh]: [mm]: [ss] ± [hh]: [mm], com ara "1981-04-05T14: 30: 30- 05:00 (en forma bàsica "19810405T143030-0500").

De vegades, la data i l'hora no es divideixen per la "T", sinó per un espai, que permet una lectura humana més fàcil; tècnicament, però, no és una representació combinada, sinó només dues representacions simples col·locades molt juntes.

Durades

PnnYnnMnnDTnnHnnMnnS
PnnYnnWnnDTnnHnnMnnS
P <data> T <hora>

Els períodes i les durades es representen en el format P [n] Y [n] M [n] DT [n] H [n] M [n] S (o P [n] Y [n] W [n] DT [n ] H [n] M [n] S si s’utilitzen setmanes), on [n] és un nombre adequat per a l’element següent; s’han d’informar les majúscules tal com són. Si el valor d'un element és zero, es pot ometre, però inserir-lo pot facilitar la comprensió. Tingueu en compte que "P1M" representa un mes, mentre que "PT1M" representa un minut. Per exemple, "P3Y6M4DT12H30M0S" indica un període de tres anys, sis mesos, quatre dies, dotze hores, trenta minuts i zero segons. També en aquest cas es poden utilitzar valors decimals, de fet "P0.5Y" indica mig any. Alternativament, es pot utilitzar la forma P [AAAA] - [MM] - [DD] T [hh]: [mm]: [ss]; i l'exemple anterior es converteix en "P0003-06-04T12: 30: 00".

Lapse de temps

<begin> / <end>
<inici> / <duració>
<duració> / <final>
<duració>

Un interval de temps es pot representar de quatre maneres:

  1. començament i finalització: "2002-03-01T13: 00: 00Z / 2003-05-11T15: 30: 00Z",
  2. inici i durada: "2002-03-01T13: 00: 00Z / P1Y2M10DT2H30M",
  3. durada i finalització: "P1Y2M10DT2H30M / 2003-05-11T15: 30: 00Z",
  4. només la durada: "P1Y2M10DT2H30M".

D'aquests formularis, els tres primers requereixen dues parts els valors dels quals estan separats per la barra inclinada "/" (també es permet el doble traç "-", tot i que no es recomana l'ús). Si falten alguns valors a la segona part, es consideraran els mateixos que els de la primera part.

Intervals repetits

Rnn / <interval>
R / <interval>

Per repetir un interval, inseriu "R [n] /" abans de l'expressió d'interval, on [n] representa el nombre de repeticions. Per exemple, per repetir l'interval "P1Y2M10DT2H30M" cinc vegades a partir de "2002-03-01T13: 00: 00Z", escriviu "R5 / 2002-03-01T13: 00: 00Z / P1Y2M10DT2H30M".

Ús

A Internet , el W3C utilitza la norma ISO 8601 per definir una norma que limita la possibilitat d’errors i redueix la complexitat del programari . [3]

RFC 3339 defineix un perfil ISO 8601 que es pot utilitzar a la suite de protocols d'Internet . Exclou explícitament l’ús de durades i dates abans de Crist. Utilitzeu la notació [hh]: [mm]: [ss] -00: 00 per indicar la zona horària local si es desconeix. Es desaconsellen formats més complexos com els que fan servir setmanes o dates ordinals.

La norma ISO 8601 es fa referència a moltes altres especificacions tècniques, però no sempre es permeten totes les variants que proporciona l'estàndard.

Variants

De vegades, es poden trobar variacions d’aquest estàndard en un ús comú.

Per exemple, utilitzeu zero per indicar diumenge als països on, per costum, la setmana comença amb aquest dia.

O bé inseriu una lletra de "A" a "G" després de la data per indicar el dia de la setmana, per exemple, escriviu "2001-001A" que significa "dilluns 1 de gener de 2001". Aquesta lletra substitueix la "T" en les representacions combinades de data i hora.

Una altra variant, usant setmanes, és dividir el mes en quatre o cinc setmanes, en lloc de tot l'any. També aquest formulari, com l’oficial, pot anar seguit d’un dígit que indica el dia de la setmana, des de l’1 del dilluns fins al 7 del diumenge.

Alguns divideixen l'any en trimestres, cadascun format per tres mesos sencers, que s'indiquen amb "Qq", on la majúscula roman com a tal, la minúscula se substitueix per un dígit de l'1 al 4. Aquesta referència es pot utilitzar en qualsevol de els formats de les dates vistes anteriorment.

Nota

  1. ^ La capacitat d'escriure l'any amb només dos dígits, proporcionada a la versió 2000, ha estat suprimida a la versió 2004.
  2. ^ Cal recordar que amb la introducció del calendari gregorià va passar del 4 d'octubre de 1582 al 15 d'octubre de 1582, saltant-se 10 dies.
  3. ^ (EN) Formats de data i hora , a w3.org, W3C. Consultat el 4 d'agost de 2011 .

Articles relacionats

Altres projectes

Enllaços externs