Articulo de referencia

ISO 8601

[{{purge|refresh}}] \n\n"},"label1":{"wt":"Date in [[UTC]]"},"data1":{"wt":"{{#time: Y-m-d}}"},"label2":{"wt":"Time in [[UTC]]"},"data2":{"wt":"{{#time: H:i:s\"Z\"}} {{#time: \"...

La norma ISO 8601 es una norma internacional que abarca el intercambio y la comunicación mundial de datos relacionados con fechas y horas . Es mantenida por la Organización Internacional de Normalización (ISO) y se publicó por primera vez en 1988, con actualizaciones en 1991, 2000, 2004 y 2019, y una enmienda en 2022. [ 1 ] La norma proporciona un método bien definido e inequívoco para representar fechas y horas del calendario en comunicaciones mundiales, especialmente para evitar interpretaciones erróneas de fechas y horas numéricas cuando dichos datos se transfieren entre países con diferentes convenciones para escribir fechas y horas numéricas.

La norma ISO  8601 se aplica a estas representaciones y formatos: fechas, en el calendario gregoriano (incluido el calendario gregoriano proleptico ); horas, basadas en el sistema de cronometraje de 24 horas , con desplazamiento UTC opcional , intervalos de tiempo y combinaciones de los mismos. [ 2 ] La norma no asigna un significado específico a ningún elemento de las fechas/horas representadas: el significado de cualquier elemento depende del contexto de su uso. Las fechas y horas representadas no pueden usar palabras que no tengan un significado numérico especificado dentro de la norma (excluyendo así los nombres de los años en el calendario chino ), o que no usen caracteres informáticos (excluye imágenes o sonidos). [ 2 ]

En las representaciones que se ajustan a la  norma de intercambio ISO 8601, las fechas y horas se organizan de manera que el término temporal más largo (normalmente un año) se coloca a la izquierda y cada término sucesivamente menor se coloca a la derecha del término anterior. Las representaciones deben escribirse en una combinación de números arábigos [ 3 ] y los caracteres informáticos específicos (como " ", "":", "T", "W", "Z") a los que se les asignan significados específicos dentro de la norma; es decir, descriptores comunes de fechas (o partes de fechas) como "enero", "jueves" o "Año Nuevo" no están permitidos en las representaciones de intercambio dentro de la norma.

Historia

La primera edición de la  norma ISO 8601 se publicó como ISO  8601:1988 en junio de 1988. Unificó y reemplazó varias normas ISO anteriores sobre diversos aspectos de la notación de fecha y hora [ 4 ]  :

  • ISO 2014 : Escritura de fechas de calendario en formato totalmente numérico , publicada en abril de 1976 [ 5 ] siguiendo la ISO/R 2014 de 1971, introdujo originalmente la notación con guion, de orden más significativo a menos significativo, para las fechas del calendario gregoriano con el día del mes como estándar internacional.
  • ISO 2015 : Numeración de semanas , también de abril de 1976 [ 6 ] junto con ISO R 2015 de 1971, especificó por primera vez las reglas para determinar el número ordinal de una semana calendario en un año y un día dentro de una semana .
  • La norma ISO 2711 : Representación de fechas ordinales , publicada en enero de 1973, [ 7 ] introdujo la notación para el día del año, que en la práctica trata de manera diferente solo el último día, el 366, de los años bisiestos.
  • ISO 3307 : Representación de la hora del día , de marzo de 1975, [ 8 ] estandarizó las horas de los relojes de pared de 24 horas y su notación, pero sin tratar las zonas horarias.
  • ISO 4031 : Representación de la hora del día , publicada en diciembre de 1978, [ 9 ] añadió desplazamientos numéricos con respecto a UTC (o GMT en aquel entonces).

Esta primera edición unificada fue sustituida por una segunda edición, ISO  8601:2000 , en 2000, luego por una tercera edición revisada, ISO  8601:2004 , publicada el 1 de diciembre de 2004, y finalmente por ISO  8601-1:2019 e ISO  8601-2:2019 el 25 de febrero de 2019. Todas las ediciones y partes de ISO  8601 y sus predecesoras fueron preparadas por [ 10 ] y están bajo la responsabilidad directa del Comité Técnico TC 154 de ISO. [ 11 ]

Publicada en febrero de 2019, [ 3 ] la cuarta revisión de la norma, ISO  8601-1:2019, representa contenidos ligeramente actualizados de la  norma ISO 8601:2004 anterior, [ 12 ] [ 1 ] pero ahora es la primera de dos partes. La otra parte, ISO  8601-2:2019, es completamente nueva. Define varias extensiones, como incertidumbres o partes del formato de fecha/hora extendido (EDTF). [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ]

En octubre de 2022 se publicó una enmienda a la norma ISO 8601-1 que incluía aclaraciones técnicas menores e intentos de eliminar ambigüedades en las definiciones. Sin embargo, el cambio más significativo fue la reintroducción del formato "24:00:00" para referirse al instante en que finaliza un día calendario.

En enero de 2025 se publicó una enmienda a la norma ISO 8601-2.

Principios generales

  • Los valores de fecha y hora se ordenan de la unidad de tiempo mayor a la menor: año, mes (o semana), día, hora, minuto, segundo y fracción de segundo. El orden lexicográfico de la representación corresponde, por lo tanto, al orden cronológico, excepto en el caso de fechas con años negativos o desfases temporales. Esto permite ordenar las fechas de forma natural , por ejemplo, mediante sistemas de archivos.
  • Cada valor de fecha y hora tiene un número fijo de dígitos que deben rellenarse con ceros a la izquierda .
  • Las representaciones pueden hacerse en uno de dos formatos : un formato básico con un número mínimo de separadores o un formato extendido con separadores añadidos para mejorar la legibilidad humana. [ 19 ] [ 20 ] La norma señala que «Debe evitarse el formato básico en texto plano ». [ 21 ] El separador utilizado entre valores de fecha (año, mes, semana y día) es el guion , mientras que los dos puntos se utilizan como separador entre valores de tiempo (horas, minutos y segundos). Por ejemplo, el sexto día del primer mes del año 2009 puede escribirse como «2009-01-06» en el formato extendido o como «20090106» en el formato básico sin ambigüedad. 
  • Para reducir la precisión , [ 22 ] se pueden eliminar varios valores de cualquiera de las representaciones de fecha y hora, pero en orden del menos significativo al más significativo. Por ejemplo, "2004-05" es una  fecha válida según la norma ISO 8601, que indica mayo (el quinto mes) de 2004. Este formato nunca representará el quinto día de un mes no especificado de 2004, ni tampoco un período que abarque desde 2004 hasta 2005.
  • Si es necesario para una aplicación particular, el estándar admite la adición de una fracción decimal al valor de tiempo más pequeño en la representación.

Fechas

El estándar utiliza el calendario gregoriano , que "sirve como estándar internacional para uso civil". [ 23 ]

La norma ISO  8601 permite el uso de fechas gregorianas a partir de la introducción del calendario el 15 de octubre de 1582. Para fechas anteriores (pre-gregorianas), el calendario puede extenderse antes de su introducción (el calendario gregoriano proleptico ) mediante acuerdo explícito de las partes involucradas. Dichas fechas prolepticas no pueden ajustarse para que coincidan con las fechas julianas.

Años

La norma ISO  8601 prescribe, como mínimo, un año de cuatro dígitos [AAAA] para evitar el problema del año 2000. Por lo tanto, representa los años desde 0000 hasta 9999, siendo el año 0000 igual al 1 a. C. y todos los demás d. C., de forma similar a la numeración astronómica de los años. Sin embargo, los años anteriores a 1583 (el primer año completo tras la introducción del calendario gregoriano) no están permitidos automáticamente por la norma. En cambio, la norma establece que «los valores en el rango [0000] a [1582] solo se utilizarán mediante acuerdo mutuo de los socios en el intercambio de información». [ 24 ]

Para representar años anteriores a 0000 o posteriores a 9999, el estándar también permite la expansión de la representación del año, pero solo mediante acuerdo previo entre el emisor y el receptor. [ 25 ] Una representación de año expandida [±YYYYY] debe tener un número acordado de dígitos adicionales del año más allá del mínimo de cuatro dígitos, y debe ir precedida de un signo + o - [ 26 ] en lugar de la notación más común d. C./a. C. (o CE/bCE); por convención, 1 a. C. se etiqueta como +0000, 2 a. C. como -0001, y así sucesivamente. [ 27 ]

Fechas del calendario

Las representaciones de fechas del calendario se muestran en el cuadro adyacente. [AAAA] indica un año de cuatro dígitos, del 0000 al 9999. [MM] indica un mes del año de dos dígitos, del 01 al 12. [DD] indica un día de ese mes de dos dígitos, del 01 al 31. Por ejemplo, "5 de abril de 1981" puede representarse como "1981-04-05" [ 19 ] en el formato extendido o "19810405" en el formato básico .

El estándar también permite escribir fechas del calendario con precisión reducida. Por ejemplo, se puede escribir "1981-04" para referirse a "abril de 1981". Se puede escribir simplemente "1981" para referirse a ese año, "198" para referirse a la década de 1980 a 1989 inclusive, o "19" para referirse al siglo de 1900 a 1999 inclusive. Aunque el estándar permite los formatos "AAAA-MM-DD" y AAAAAMMDD para representaciones completas de fechas del calendario, si se omite el día [DD], solo se permite el formato AAAA-MM . Al no permitir fechas de la forma AAAAMM, el estándar evita la confusión con la representación truncada [ 30 ] [ 4 ] AAAAMMDD (que todavía se usa con frecuencia). La versión 2000 también permitía escribir el truncamiento "--04-05" para significar "5 de abril" [ 28 ] pero la versión 2004 no permite omitir el año cuando hay un mes presente.

Ejemplos:

  • El 7 de enero de 2000 se puede escribir como "2000-01-07" o "20000107".

Fechas de la semana

Las fechas de la semana se representan en los formatos que se muestran en el recuadro adyacente. [AAAA] indica el año según el sistema de numeración de semanas ISO , que difiere ligeramente del calendario gregoriano tradicional (véase más abajo). [WWW] es el número de semana precedido por la letra W , desde W01 hasta W53. [D] es el número del día de la semana , del 1 al 7, desde el lunes hasta el domingo.

Existen varias descripciones mutuamente equivalentes y compatibles de la semana 01:

  • la semana con el primer día hábil del año en curso (considerando que los sábados, domingos y el 1 de enero son días no laborables),
  • la semana que incluye el primer jueves del año en curso (la definición formal de la ISO),
  • la semana que incluye el 4 de enero,
  • la primera semana con la mayoría (cuatro o más) de sus días en el año inicial, y
  • la semana que comienza el lunes en el período del 29 de diciembre al 4 de enero.

En consecuencia, si el 1 de enero cae en lunes, martes, miércoles o jueves, corresponde a la semana 01. Si el 1 de enero cae en viernes, sábado o domingo, corresponde a la semana 52 o 53 del año anterior (no existe la semana 00). El 28 de diciembre siempre corresponde a la última semana del año.

El número de semana se puede describir contando los jueves: la semana 12 contiene el duodécimo jueves del año.

El año de numeración de semanas ISO comienza el primer día (lunes) de la semana 01 y termina el domingo anterior al inicio del nuevo año ISO (sin solapamiento ni interrupción). Consta de 52 o 53 semanas completas. La primera semana ISO de un año puede tener hasta tres días que pertenezcan al año del calendario gregoriano que finaliza; si son tres, son lunes, martes y miércoles. Del mismo modo, la última semana ISO de un año puede tener hasta tres días que pertenezcan al año del calendario gregoriano que comienza; si son tres, son viernes, sábado y domingo. El jueves de cada semana ISO siempre pertenece al año del calendario gregoriano indicado por el año de numeración de semanas ISO.

Ejemplos:

  • El lunes 29 de diciembre de 2008 aparece escrito " 2009-W01-1 ".
  • El domingo 3 de enero de 2010 está escrito " 2009-W53-7 "

Fechas ordinales

Una fecha ordinal es un formato ordinal para los múltiplos de un día transcurrido desde el inicio del año. Se representa como "AAAA-DDD" (o AAAAADDD), donde [AAAA] indica el año y [DDD] es el "día del año", del 001 al 365 (366 en años bisiestos ). Por ejemplo, "1981-04-05" es lo mismo que "1981-095" .

Esta forma simple es preferible para ocasiones en las que la naturaleza arbitraria de las definiciones de semana y mes es más un impedimento que una ayuda, por ejemplo, al comparar fechas de diferentes calendarios. Este formato se usa con sistemas de hardware simples que necesitan un sistema de fechas, pero donde incluir un software completo de cálculo de calendario puede ser una molestia significativa. A este sistema a veces se le llama "fecha juliana", pero esto puede causar confusión con el día juliano astronómico , un conteo secuencial del número de días desde el día 0 que comienza el 1 de enero de 4713 a. C. al mediodía de Greenwich, calendario proléptico juliano (o mediodía en la fecha ISO -4713-11-24 que usa el calendario proléptico gregoriano con un año 0000).

Veces

La norma ISO  8601 utiliza el sistema horario de 24 horas . A partir de la versión ISO  8601-1:2019, el formato básico es T[hh][mm][ss] y el formato extendido es T[hh]:[mm]:[ss]. Las versiones anteriores omitían la T (que representa la hora) en ambos formatos.

Así, una hora puede aparecer como "T134730" en el formato básico o como "T13:47:30" en el formato extendido . La norma ISO  8601-1:2019 permite omitir la "T" en el formato extendido, como en "13:47:30", pero solo permite omitirla en el formato básico cuando no existe riesgo de confusión con las expresiones de fecha.

Se pueden omitir los segundos, o los minutos y segundos, de los formatos de tiempo básicos o extendidos para mayor brevedad pero menor precisión; los formatos de tiempo de precisión reducida resultantes son: [ 31 ]

  • T[hh][mm] en formato básico o T[hh]:[mm] en formato extendido , cuando se omiten los segundos.
  • T[hh], cuando se omiten tanto los segundos como los minutos.

Según la norma ISO  8601-1:2019/Amd 1:2022, "00:00:00" puede usarse para referirse a la medianoche correspondiente al instante al comienzo de un día calendario; y "24:00:00" para referirse a la medianoche correspondiente al instante al final de un día calendario. [ 30 ] La norma ISO  8601-1:2019, en su versión original, eliminó "24:00:00" como representación del final del día, aunque se había permitido en versiones anteriores de la norma.

Se puede agregar una fracción decimal al elemento de tiempo de orden más bajo presente en cualquiera de estas representaciones. Una marca decimal , ya sea una coma o un punto en la línea base , se usa como separador entre el elemento de tiempo y su fracción. (Siguiendo la norma ISO 80000-1 según la ISO  8601:1-2019, [ 32 ] no estipula una preferencia excepto dentro de las Normas Internacionales, pero con preferencia por una coma según la ISO  8601:2004. [ 33 ] ) Por ejemplo, para denotar "14 horas, 30 minutos y medio", no incluya la cifra de segundos; repórtela como "14:30,5", "T1430,5", "14:30.5" o "T1430.5".

No existe límite en el número de decimales para la fracción decimal. Sin embargo, las partes comunicantes deben acordar dicho número. Por ejemplo, en Microsoft SQL Server, la precisión de una fracción decimal es de 3 para una fecha y hora, es decir, "aaaa-mm-ddThh:mm:ss[.mmm]". [ 34 ]

Designadores de zona horaria

En la norma ISO 8601, las zonas horarias  se representan como hora local (sin especificar la ubicación), como UTC o como un desfase con respecto a UTC.

Hora local (sin especificar)

Si no se proporciona información sobre la relación UTC con la representación horaria, se asume que la hora corresponde a la hora local. Si bien puede ser seguro asumir la hora local al comunicarse dentro de la misma zona horaria, resulta ambiguo al comunicarse entre diferentes zonas horarias. Incluso dentro de una misma zona horaria geográfica, algunas horas locales pueden ser ambiguas si la región aplica el horario de verano . Por lo general, es preferible indicar la zona horaria (designador de zona) utilizando la notación estándar.

Tiempo Universal Coordinado (UTC)

Si la hora está en UTC , añada una Z inmediatamente después de la hora, sin espacio. La Z es el identificador de zona para el desplazamiento UTC cero. Por lo tanto, "09:30 UTC" se representa como "09:30Z" o "T0930Z". "14:45:15 UTC" sería "14:45:15Z" o "T144515Z".

El sufijo Z en la  representación horaria ISO 8601 a veces se denomina "hora zulú" o "meridiano zulú" porque la misma letra se usa para designar la zona horaria zulú . [ 35 ] Sin embargo, la norma ACP 121 que define la lista de zonas horarias militares no menciona UTC y deriva la "hora zulú" del Tiempo Medio de Greenwich [ 36 ] , que anteriormente se usaba como estándar internacional de tiempo civil. GMT ya no está definido con precisión por la comunidad científica y puede referirse a UTC o UT1 según el contexto. [ 37 ]

Desfase horario respecto a UTC

El desfase UTC se añade directamente a la hora en lugar del sufijo "Z" mencionado anteriormente; no se utilizan otras letras de zona horaria náutica . El desfase se aplica a UTC para obtener la hora civil en la zona horaria designada en el formato '±[hh]:[mm]', '±[hh][mm]' o '±[hh]'.

Un desfase UTC negativo describe una zona horaria al oeste del meridiano de Greenwich donde la hora civil está por detrás de UTC. Por lo tanto, la designación de zona para Nueva York (en hora estándar ) sería " −05 :00", " −0500 " o " −05 ". Por el contrario, un desfase UTC positivo describe una zona horaria al este del meridiano de Greenwich donde la hora civil está por delante de UTC . Así, la designación de zona para El Cairo será "+02:00", "+0200" o "+02".

Una zona horaria donde la hora civil coincide con UTC siempre se designa como positiva, aunque el desfase sea cero (véanse las especificaciones relacionadas a continuación). Por lo tanto, la designación de zona para Londres (en hora estándar ) sería " +00:00 ", "+0000" o "+00".

Ejemplos adicionales

Consulte la Lista de compensaciones UTC para ver otras compensaciones UTC .

Otras especificaciones de desfase horario

No está permitido indicar un desfase horario de valor cero con un signo negativo, como « −00 :00», « −0000 » o « −00 ». La sección que regula el uso de signos establece que se debe usar un signo más para un valor positivo o cero, y un signo menos para un valor negativo. También se puede usar un signo más-menos ( ± ) si está disponible. [ 38 ]

Contrariamente a esta regla, RFC 3339, que por lo demás es un perfil de ISO  8601, permite el uso de " −00 " con la misma denotación que "+00" pero con una connotación diferente: un desplazamiento UTC desconocido . [ 39 ] [ 40 ]

Para representar un desplazamiento negativo, ISO  8601 especifica el uso de un signo menos ( ). Si el conjunto de caracteres de intercambio es limitado y no tiene un carácter de signo menos, entonces se debe usar el guion menos ( - ). [ 41 ] ASCII no tiene un signo menos, por lo que se usaría su carácter de guion menos (código 45 10 ). Si el conjunto de caracteres tiene un signo menos, como U+2212 SIGNO MENOS en Unicode , entonces se debe usar ese carácter. La invocación de la entidad de carácter HTML para es .−

La norma ISO 8601-2:2019 permite duraciones generales para los desfases temporales. Por ejemplo, se puede añadir mayor precisión al desfase temporal con el formato ' <tiempo>±[hh]:[mm]:[ss].[sss]' o '<tiempo>±[n]H[n]M[n]S', como se muestra a continuación.

Representaciones combinadas de fecha y hora

Un único punto en el tiempo puede representarse concatenando una expresión de fecha completa, la letra "T" como delimitador y una expresión de tiempo válida. Por ejemplo, "2007-04-05T14:30" . En la norma ISO  8601:2004 se permitía omitir el carácter "T" por mutuo acuerdo, como en "200704051430" [ 42 ] , pero esta disposición se eliminó en la norma ISO  8601-1:2019. Separar las partes de fecha y hora con otros caracteres, como espacios, no está permitido en la norma ISO  8601, pero sí en su perfil RFC 3339 [ 43 ].

Si se requiere un indicador de zona horaria, este se coloca después de la fecha y hora combinadas. Por ejemplo, "2007-04-05T14:30Z" o "2007-04-05T12:30-02:00" .

Se pueden utilizar formatos básicos o extendidos, pero tanto la fecha como la hora deben usar el mismo formato. La fecha puede representarse en formato calendario, semana u ordinal, y debe ser completa. La hora puede representarse utilizando un formato de precisión reducida específico.

Duraciones

Las duraciones definen la cantidad de tiempo transcurrido en un intervalo de tiempo y se representan mediante el formato P[n]Y[n]M[n]DT[n]H[n]M[n]S o P[n]W, como se muestra al margen. En estas representaciones, [n] se reemplaza por el valor de cada uno de los elementos de fecha y hora que siguen a [n]. No se requieren ceros iniciales, pero las partes comunicantes deben acordar el número máximo de dígitos para cada elemento. Las letras mayúsculas P , Y , M , W , D , T , H , M y S son designadores de cada uno de los elementos de fecha y hora y no se reemplazan. [ 44 ]

  • P es el designador de duración (para el período ) colocado al inicio de la representación de la duración.
    • Y es el indicador del año que sigue al valor del número de años naturales.
    • M es el indicador del mes que sigue al valor del número de meses del calendario.
    • W es el indicador de semana que sigue al valor del número de semanas.
    • D es el indicador del día que sigue al valor del número de días naturales.
  • T es el designador de tiempo que precede a los componentes de tiempo de la representación de la duración.
    • H es el indicador de hora que sigue al valor del número de horas.
    • M es el indicador de minutos que sigue al valor del número de minutos.
    • La S es el segundo designador que sigue al valor del número de segundos.

Por ejemplo, "P3Y6M4DT12H30M5S" representa una duración de "tres años, seis meses, cuatro días, doce horas, treinta minutos y cinco segundos".

Los elementos de fecha y hora, incluido su identificador, pueden omitirse si su valor es cero, y los elementos de orden inferior también pueden omitirse para reducir la precisión. Por ejemplo, "P23DT23H" y "P4Y" son representaciones de duración aceptables. Sin embargo, debe estar presente al menos un elemento; por lo tanto, "P" no es una representación válida para una duración de 0 segundos. "PT0S" o "P0D", en cambio, son válidas y representan la misma duración.

Para resolver la ambigüedad, "P1M" es una duración de un mes y "PT1M" es una duración de un minuto (nótese el designador de tiempo, T, que precede al valor de tiempo). El valor más pequeño utilizado también puede tener una fracción decimal, [ 45 ] como en "P0.5Y" para indicar medio año. Esta fracción decimal puede especificarse con una coma o un punto , como en "P0,5Y" o "P0.5Y". El estándar no prohíbe que los valores de fecha y hora en una representación de duración excedan sus "puntos de arrastre", excepto como se indica a continuación. Por lo tanto, "PT36H" podría usarse así como "P1DT12H" para representar la misma duración. Pero tenga en cuenta que "PT36H" no es lo mismo que "P1DT12H" cuando se cambia al horario de verano o viceversa .

Alternativamente, las partes comunicantes pueden acordar un formato de duración basado en la combinación de fechas y horas, ya sea en el formato básico PYYYYMMDDThhmmss o en el formato extendido P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss] . Por ejemplo, la primera duración mostrada arriba sería "P0003-06-04T12:30:05" . Sin embargo, los valores individuales de fecha y hora no pueden exceder sus módulos (por ejemplo, un valor de 13 para el mes o 25 para la hora no sería permisible). [ 46 ]

La norma describe una duración como parte de intervalos de tiempo, que se analizan en la siguiente sección. El formato de duración por sí solo es ambiguo con respecto al número total de días en un año y mes calendario. El número de segundos en un día calendario también es ambiguo debido a los segundos intercalares . Por ejemplo, "P1M" por sí solo podría ser 28, 29, 30 o 31 días. No hay ambigüedad cuando se usa en un intervalo de tiempo. Usando el ejemplo "P2M", duración de dos meses calendario:

  • El intervalo 2003-02-15T00:00:00Z/P2M termina dos meses calendario después, el 2003-04-15T00:00:00Z, que son 59 días después.
  • El intervalo 2003-07-15T00:00:00Z/P2M termina dos meses calendario después, el 2003-09-15T00:00:00Z, que son 62 días después.

El formato de duración (o un subconjunto del mismo) se utiliza ampliamente independientemente de los intervalos de tiempo, como ocurre con la clase Duration de Java 8, que admite un subconjunto del formato de duración. [ 47 ] [ 48 ]

intervalos de tiempo

Un intervalo de tiempo es el tiempo transcurrido entre dos momentos. Este intervalo se expresa mediante una duración (como se describe en la sección anterior). Los dos momentos (inicio y fin) se representan mediante una combinación de fecha y hora o solo mediante una fecha.

Existen cuatro formas de expresar un intervalo de tiempo:

  1. Inicio y fin, como por ejemplo "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
  2. Inicio y duración, como por ejemplo "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
  3. Duración y fecha de finalización, como por ejemplo "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
  4. Solo duración, como por ejemplo "P1Y2M10DT2H30M", con información de contexto adicional.

De estos, los tres primeros requieren dos valores separados por un designador de intervalo que suele ser una barra oblicua "/". La sección 3.2.6 de ISO  8601-1:2019 señala que "Una barra oblicua puede ser reemplazada por un guion doble ["--"] por mutuo acuerdo de los interlocutores", y versiones anteriores usaban notaciones como "2000--2002". [ 49 ] El uso de un guion doble en lugar de una barra oblicua permite la inclusión en nombres de archivos de computadora ; [ 50 ] en los sistemas operativos comunes, una barra oblicua es un carácter reservado y no está permitida en un nombre de archivo.

Para las expresiones <start>/<end>, si falta algún elemento en el valor final, se asume que es el mismo que para el valor inicial, incluyendo la zona horaria. Esta característica del estándar permite representaciones concisas de intervalos de tiempo. Por ejemplo, la fecha de una reunión de dos horas, incluyendo la hora de inicio y finalización, podría mostrarse como "2007-12-14T13:30/15:30", donde "/15:30" implica "/2007-12-14T15:30" (la misma fecha que el inicio), o las fechas de inicio y finalización de un período de facturación mensual como "2008-02-15/03-14", donde "/03-14" implica "/2008-03-14" (el mismo año que el inicio).

Si se desea mayor precisión para representar el intervalo de tiempo, se pueden agregar más elementos de tiempo a la representación. Un intervalo denominado "2007-11-13/15" puede comenzar en cualquier momento del 13 de noviembre de 2007 y terminar en cualquier momento del 15 de noviembre de 2007 , mientras que "2007-11-13T09:00/15T17:00" incluye las horas de inicio y fin. Para incluir explícitamente todas las fechas de inicio y fin, el intervalo se representaría como "2007-11-13T00:00/16T00:00" .

Intervalos recurrentes

Los intervalos repetitivos se especifican en la cláusula "4.5 Intervalo de tiempo recurrente". Se forman añadiendo "R[n]/" al principio de la expresión del intervalo, donde R se usa como la letra misma y [n] se reemplaza por el número de repeticiones. Si se omite el valor de [n] o se especifica -1, el número de repeticiones es ilimitado. Un valor de 0 para [n] significa que el intervalo no se repite.

Si el intervalo especifica el inicio (formas 1 y 2 anteriores), entonces este es el inicio del intervalo repetitivo. Si el intervalo especifica el final pero no el inicio (forma 3 anterior), entonces este es el final del intervalo repetitivo. Por ejemplo, para repetir el intervalo "P1Y2M10DT2H30M" cinco veces comenzando en "2008-03-01T13:00:00Z" , use "R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M" .

Se basa en la sintaxis de iCalendar y es compartida por IETF RFC 5545. [ 51 ]

Representaciones truncadas (obsoletas)

La norma ISO  8601:2000 permitía la truncación (por acuerdo mutuo), mediante la cual se omitían los primeros dígitos de una fecha u hora. En particular, esto permitía el uso de años de dos dígitos, así como los formatos ambiguos AAAA-MM-DD y AAAAMMDD. Esta disposición se eliminó en la norma ISO  8601:2004.

Los ejemplos primero y séptimo mencionados anteriormente omiten el encabezamiento -del siglo. Otros formatos incluyen un encabezamiento -por cada siglo, año, mes, semana, hora y minuto omitidos, según sea necesario para aclarar el formato.

Extensiones estandarizadas

La norma ISO  8601-2:2019 define un conjunto de extensiones estandarizadas a los  formatos de fecha y hora de la norma ISO 8601.

Formato de fecha y hora extendido (EDTF)

El EDTF se presenta como ejemplo de un perfil de ISO  8601 en la Parte 2. Consta de tres niveles, donde el nivel 0 es un subconjunto de la Parte 1 restringido a la notación extendida de mes y día, CCYY-MM-DD, similar a RFC 3339, y los niveles 1 y 2 se basan en este.

EDTF está adaptado principalmente a las necesidades bibliográficas e historiográficas. Algunas de sus características son: [ 13 ]

  • Los calificadores inciertos y aproximados, '?' y '~', así como su uso combinado, '%'; pueden aplicarse a la fecha completa o a componentes individuales.
  • Intervalos de tiempo con un final o inicio abierto (sin límites) o desconocido, por ejemplo "../2025" o "2024/".
  • Notación exponencial ('E') y de cifras significativas ('S') en años con un nuevo prefijo 'Y', por ejemplo, "Y-1.25E6S2".
  • Valores especiales de "mes" que indican agrupaciones de subaños, como estaciones y trimestres, por ejemplo, "2025-26" para el verano en el hemisferio norte.
  • Sintaxis para serializar una lista de fechas entre corchetes '[]' para selecciones individuales o llaves '{}' para listas inclusivas.

Las características de EDTF se describen en la sección "Extensiones de fecha y hora" de la norma ISO  8601-2:2019, y el perfil en sí se encuentra en el Anexo A. Es prácticamente idéntico a la especificación anterior desarrollada por la Biblioteca del Congreso de los Estados Unidos. [ 13 ]

Implementaciones

El comando date de GNU CoreUtils--iso-8601 tiene una opción [ 52 ] entre otros patrones de formato:

$ date --iso-8601 = ns 2025-02-16T12:03:17,646296349+01:00$ date -u --rfc-3339 = ns 2025-02-16 10:58:44.966864492+00:00$ date -u + "%Y-%m-%dT%H:%M:%S.%6NZ" 2025-02-16T10:58:44.965071Z

Uso

En Internet , el Consorcio World Wide Web (W3C) utiliza el estándar IETF basado en ISO  8601 para definir un perfil que restringe los formatos de fecha y hora admitidos, con el fin de reducir la probabilidad de errores y la complejidad del software. La especificación, muy sencilla, se basa en un borrador del RFC 3339 mencionado a continuación. [ 53 ]

La norma ISO 8601 se menciona en varias especificaciones, pero no siempre se utiliza  toda su gama de opciones . Por ejemplo, los distintos estándares de guías electrónicas de programación para televisión, radio digital, etc., utilizan diversas formas para describir momentos y duraciones. La especificación de metadatos de audio ID3 también utiliza un subconjunto de la ISO 8601. [ 54 ] El parámetro GeneralizedTime del estándar de codificación X.690 utiliza otro subconjunto de la ISO 8601.   

Comercio

Desde 2006, la fecha de la semana según la norma ISO aparece en su formato básico en los envases comerciales de las principales marcas en Estados Unidos. Su presentación dependía más de la planta de envasado, lata o embotellado que de la marca en sí. Este formato resulta especialmente útil para el control de calidad, ya que permite rastrear fácilmente los errores de producción.

RFC

IETF RFC 3339 [ 55 ] define un perfil de ISO  8601 para su uso en protocolos y estándares de Internet . Excluye explícitamente duraciones y fechas anteriores a la era común . No se permiten formatos más complejos como números de semana y días ordinales. [ 56 ]

RFC 3339 se desvía de ISO  8601 al permitir que se especifique un desplazamiento de zona horaria cero como "-00:00", lo cual ISO  8601 prohíbe. RFC 3339 pretende que "-00:00" lleve la connotación de que no está indicando una zona horaria preferida, mientras que el "+00:00" conforme o cualquier desplazamiento distinto de cero connota que el desplazamiento que se está utilizando es el preferido. Esta convención con respecto a "-00:00" se deriva de RFC anteriores, como RFC 2822 que lo utiliza para marcas de tiempo en encabezados de correo electrónico . [ 57 ] RFC 2822 no afirmó que ninguna parte de su formato de marca de tiempo se ajustara a ISO  8601, por lo que era libre de utilizar esta convención sin conflicto.

Partiendo de los fundamentos de RFC 3339, la IETF introdujo el formato de fecha y hora extendido de Internet (IXDTF) en RFC 9557. [ 58 ] Este formato extiende la representación de la marca de tiempo para incluir información adicional, como el nombre de la zona horaria asociada. La inclusión de nombres de zonas horarias es particularmente útil para aplicaciones que necesitan tener en cuenta eventos como los cambios de horario de verano. Además, IXDTF mantiene la compatibilidad con la sintaxis preexistente para adjuntar nombres de zonas horarias a las marcas de tiempo, proporcionando un enfoque estandarizado y flexible para la representación de marcas de tiempo en Internet. Ejemplo:

1996-12-19T16:39:57-08:00[America/Los_Angeles]

Adopción como normas nacionales

Véase también

Notas y referencias

  1. ^ "Proyecto alemán 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). Archivado desde el original el 20 de octubre de 2017 . Consultado el 19 de octubre de 2017 .
  2. 1 2 ISO 8601:2004[E] sección 1 Alcance
  3. 1 2 "Introducción a las nuevas normas ISO 8601-1 e ISO 8601-2" . ISO/TC 154. 26 de agosto de 2019.
  4. 1 2 ISO 8601:2004(E) , ISO , 1 de diciembre de 2004, Anexo A: ... A partir de ese concepto, se derivaron lógicamente las representaciones de todos los demás valores de fecha y hora; por lo tanto, ISO 2014, ISO 3307 e ISO 4031 han sido reemplazadas. ... La identificación de una fecha particular por medio de fechas ordinales (ISO 2711) y por medio del sistema de numeración de semanas (ISO 2015) eran métodos alternativos que el concepto básico de esta Norma Internacional también podía abarcar; por lo tanto, ISO 2015 e ISO 2711 han sido reemplazadas.        
  5. ISO/TC 154. "ISO 2014:1976 - Escritura de fechas de calendario en formato totalmente numérico" .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  6. ISO/TC 154. "ISO 2015:1976 - Numeración de semanas" .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  7. ISO/TC 154. "ISO 2711:1973 - Intercambio de procesamiento de información — Representación de fechas ordinales" .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  8. ISO/TC 154. "ISO 3307:1975 - Intercambio de información — Representación de la hora del día" .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  9. ISO/TC 154. "ISO 4031:1978 - Intercambio de información — Representación de diferenciales de tiempo local" .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  10. ISO 8601:2004(E) . ISO . 2004-12-01. p. iv Prólogo. 
  11. "TC 154 Procesos, elementos de datos y documentos en el comercio, la industria y la administración" . Comités técnicos. ISO. Archivado del original el 25 de mayo de 2016. Consultado el 16 de agosto de 2014 .
  12. "ISO/DIS 8601-1:2016-10-26" (PDF) . Biblioteca del Congreso . Archivado del original (PDF) el 19 de octubre de 2017.
  13. 1 2 3 "Especificación del formato de fecha y hora extendido (EDTF)" . La Biblioteca del Congreso . 8 de octubre de 2019 [4 de febrero de 2019, 2014, 2012]. Archivado del original el 7 de marzo de 2020. Consultado el 7 de marzo de 2020 .
  14. "Información general sobre el formato de fecha y hora extendido (EDTF)" . La Biblioteca del Congreso . 8 de octubre de 2019 [1 de marzo de 2019]. Archivado del original el 7 de marzo de 2020. Consultado el 7 de marzo de 2020 .
  15. "Formato de fecha y hora extendido (EDTF) 1.0 2012/2014" . Borrador presentado. Biblioteca del Congreso . Archivado del original el 15 de julio de 2017. Consultado el 15 de julio de 2017 .
  16. "ISO/WD 8601-2:2016-02-16" (PDF) . Biblioteca del Congreso . Archivado del original (PDF) el 19 de octubre de 2017.
  17. "ISO/DIS 8601-2:2016-10-26" (PDF) . Biblioteca del Congreso . Archivado del original (PDF) el 20 de octubre de 2017.
  18. "Proyecto alemán 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). Archivado desde el original el 19 de octubre de 2017 . Consultado el 19 de octubre de 2017 .
  19. 1 2 ISO: " ISO 8601 — Formato de fecha y hora ". Archivado el 8 de marzo de 2013 en Wayback Machine .
  20. Wolf, Misha; Wicksteed, Charles (15 de septiembre de 1997). "Formatos de fecha y hora" . W3C . Archivado del original el 10 de mayo de 2021. Recuperado el 11 de mayo de 2021 .
  21. ISO 8601:2004 sección 2.3.3 formato básico
  22. Las versiones anteriores de la norma ISO 8601 utilizaban la palabra «exactitud» , no «precisión» , en la sección correspondiente, por ejemplo: 2.3.7 representación con exactitud reducida. Esto se corrigió en la norma ISO 8601-1:2019.
  23. Doggett, LE (1992). «Calendarios». En PK Seidelmann (ed.). Suplemento explicativo del almanaque astronómico . Sausalito, California: University Science Books. pág. 580. ISBN  0-935702-68-7Archivado del original el 1 de abril de 2004. El calendario gregoriano sirve hoy como estándar internacional para uso civil.
  24. ISO 8601:2004(E) . ISO . 2004-12-01. apartado 4.1.2.1 Generalidades.
  25. ISO 8601:2004(E) . ISO . 2004-12-01. 3.5 Expansión ... Por mutuo acuerdo de los socios en el intercambio de información, se permite expandir el componente que identifica el año calendario, que de otro modo está limitado a cuatro dígitos. Esto permite hacer referencia a fechas y horas en años calendario fuera del rango admitido por representaciones completas, es decir, antes del inicio del año [0000] o después del final del año [9999].
  26. ISO 8601:2004 secciones 3.4.2, 4.1.2.4
  27. Por ejemplo, véase el Anexo B.1.1 de la norma.
  28. 1 2 Perreault, S. (agosto de 2011). "DATE" . Especificación del formato vCard . IETF . sec. 4.3.1. doi : 10.17487/RFC6350 . RFC 6350. Recuperado el 21 de enero de 2021. Se permite la representación truncada, como se especifica en [ISO.8601.2000], secciones 5.2.1.3 d), e) y f). 
  29. Último en ISO 8601:2000, eliminado en ISO 8601:2004, en uso por RFC6350 [ 28 ]
  30. 1 2 ISO 8601-1:2019/Enmienda 1:2022 , ISO , 2022-10-25
  31. ISO 8601-1:2019 sección 5.3.1.3 Representaciones con precisión reducida
  32. ISO 8601-1:2019 sección 3.1.3.9 Signo decimal
  33. ISO 8601:2004(E) , ISO , 1 de diciembre de 2004, 4.2.2.4... la fracción decimal se dividirá de la parte entera por el signo decimal especificado en ISO 31-0, es decir, la coma [,] o el punto [.]. De estos, la coma es el signo preferido.
  34. "Formato ISO 8601" . TechNet . Microsoft Docs . 3 de diciembre de 2008. Archivado del original el 20 de octubre de 2021. Consultado el 20 de octubre de 2021 .
  35. Markus Kuhn (16 de junio de 2020). "Resumen de la notación internacional estándar de fecha y hora" . Archivado del original el 5 de octubre de 2022. Consultado el 5 de octubre de 2022 .
  36. "Instrucciones de comunicación generales ACP 121(I)" (PDF) . Junta Combinada de Electrónica de Comunicaciones . Octubre de 2010. Archivado (PDF) del original el 16 de enero de 2018. Recuperado el 15 de enero de 2018 .
  37. McCarthy, Dennis D .; Seidelmann, Kenneth P. (2009). El tiempo: De la rotación de la Tierra a la física atómica . Weinheim: Wiley-VCH Verlag GmbH & Co. KGaA . pág. 10. ISBN  978-3-527-40780-4.
  38. ISO 8601-1:2019 sección 3.2.4, ISO 8601:2004 sección 3.4.2
  39. RFC 3339 Convención de desplazamiento local desconocida 
  40. Newman, Chris (julio de 2002). "Convención de desplazamiento local desconocido" . En Klyne, Graham (ed.). Fecha y hora en Internet: marcas de tiempo . IETF . sec. 4.3. doi : 10.17487/RFC3339 . RFC 3339. Consultado el 1 de febrero de 2021. Si se conoce la hora en UTC, pero se desconoce el desplazamiento con respecto a la hora local, esto se puede representar con un desplazamiento de "-00:00". Esto difiere semánticamente de un desplazamiento de "Z" o "+00:00", que implican que UTC es el punto de referencia preferido para la hora especificada. RFC2822 [IMAIL-UPDATE] describe una convención similar para el correo electrónico. 
  41. "3.4.1 Caracteres utilizados en las representaciones - Introducción". Elementos de datos y formatos de intercambio — Intercambio de información - Representación de fechas y horas — Parte 1: Reglas básicas (PDF) . ISO . 16 de febrero de 2016. pág. 12. ISO/WD 8601-1. En un entorno donde se utiliza un repertorio de caracteres basado en ISO/IEC 646, tanto el "guion" como el "menos" se asignan a "guion-menos". Las representaciones con un "más-menos" solo se utilizarán en dicho entorno si el repertorio de intercambio incluye "más-menos". {{citation}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  42. ISO 8601:2004(E): Elementos de datos y formatos de intercambio — Intercambio de información — Representación de fechas y horas . ISO . 1 de diciembre de 2004. 4.3.2 NOTA: Por mutuo acuerdo de los socios en el intercambio de información, el carácter [T] puede omitirse en aplicaciones donde no exista riesgo de confundir una representación de fecha y hora con otras definidas en esta Norma Internacional.
  43. G. Klyne; C. Newman (julio de 2002). "Formato de fecha y hora en Internet" . Fecha y hora en Internet: marcas de tiempo . IETF . sec. 5.6. doi : 10.17487/RFC3339 . RFC 3339. NOTA: ISO 8601 define la fecha y la hora separadas por "T". Las aplicaciones que utilizan esta sintaxis pueden optar, por motivos de legibilidad, por especificar una fecha y una hora completas separadas por (por ejemplo) un espacio. 
  44. "Elementos de datos y formatos de intercambio — Intercambio de información - Representación de fechas y horas — Parte 1: Reglas básicas" (PDF) . Biblioteca del Congreso . pág. 23. Archivado (PDF) del original el 12 de marzo de 2021. Consultado el 11 de octubre de 2025. § 4.4.3.2 Formato con designadores. [...] el número máximo de dígitos en un componente debe ser acordado por los socios en el intercambio de información. [...] 
  45. "Elementos de datos y formatos de intercambio — Intercambio de información - Representación de fechas y horas — Parte 1: Reglas básicas" (PDF) . La Biblioteca del Congreso . pág. 23. Archivado (PDF) del original el 12 de marzo de 2021. Recuperado el 6 de julio de 2021. b ) Si es necesario para una aplicación particular, los componentes de orden más bajo pueden tener una fracción decimal. 
  46. ISO 8601:2004 sección 4.4.3.3 Formato alternativo, ISO 8601-1:2019 sección 5.5.2.4 Formato alternativo
  47. "Duración de la clase Java 8" . Java Platform Standard Edition 8. Oracle. Archivado del original el 14 de octubre de 2017. Consultado el 7 de octubre de 2017 .
  48. "Duración de Amazon Alexa" . Desarrollador de Amazon . Amazon.com. Archivado del original el 14 de octubre de 2017. Consultado el 7 de octubre de 2017 .
  49. "Información sobre ISO 8601, el estándar de representación de fecha y hora" . Cs.tut.fi. Archivado del original el 14 de octubre de 2017. Consultado el 29 de agosto de 2012 .
  50. "ISO 8601 - Poniéndose al día (y con las fechas)" . Hydrogold. 1 de enero de 2012. Archivado del original el 25 de enero de 2014. Consultado el 13 de agosto de 2013 .
  51. RFC 5545 . IETF . doi : 10.17487/RFC5545 .
  52. Opciones de fecha
  53. Nota sobre formatos de fecha y hora para el W3C de Reuters Archivada el 24/08/2011 en Wayback Machine
  54. Nilsson, M. (2000-11-01). "ID3 tag version 2.4.0 - Main Structure" . id3.org. pp. §4. Archivado del original el 2015-03-09 . Recuperado el 2009-09-27 . 
  55. Newman, Chris; Klyne, Graham (julio de 2002). Fecha y hora en Internet: marcas de tiempo . IETF . doi : 10.17487/RFC3339 . RFC 3339. Recuperado el 25 de octubre de 2015 .
  56. Newman, Chris; Klyne, Graham (julio de 2002). "Formato de fecha y hora en Internet" . Fecha y hora en Internet: marcas de tiempo . IETF . pág. 8. sec. 5.6. doi : 10.17487/RFC3339 . RFC 3339. Consultado el 25 de octubre de 2015 .   
  57. "Especificación de fecha y hora" . Formato de mensaje de Internet . IETF . Abril de 2001. pág. 14. sec. 3.3. doi : 10.17487/RFC2822 . RFC 2822 .   
  58. Sharma, Ujjwal; Bormann, Carsten (2024). Fecha y hora en Internet: marcas de tiempo con información adicional . IETF . doi : 10.17487/RFC9557 . RFC 9557. Recuperado el 28 de mayo de 2024 .
  59. National Standard of Canada, "ISO 8601-1:2019/Amd 1:2022: Date and time — Representations for information interchange". Standards Council of Canada. 2022-10-24. Retrieved 2025-03-22.
  60. Source ICONTEC (This standard is identical to ISO 8601:2004)Archived 2020-01-16 at the Wayback Machine
  61. "ČSN ISO 8601 (979738) Datové prvky a formáty výměny - Výměna informací - Zobrazení data a času". 2023-04-17. Retrieved 2023-04-17.
  62. "DOF - Diario Oficial de la Federación". Archived from the original on 2021-11-10. Retrieved 2021-11-10.
  63. Czubla, Albin (2020-12-04). "Główny Urząd Miar"(PDF). Główny Urząd Miar. Retrieved 2020-12-04.
  64. "SANS 8601:2009 (Ed. 2.00)". SABS Webstore. Archived from the original on 2021-11-24. Retrieved 2021-11-24.
  65. "SS-ISO 8601-1:2022". SIS Webstore. Retrieved 2023-10-06.
  66. TS ISO 8601-1
  67. TS ISO 8601-2
  68. TCVN 6398-1:1998