yyyy online español ddthh date standards datetime-format iso

date - online - iso 8601 español



En una fecha ISO 8601, ¿es obligatorio el carácter T? (2)

Me pregunto si la siguiente fecha cumple con ISO8601:

2012-03-02 14:57:05.456+0500

(seguro, 2012-03-02T14: 57: 05.456 + 0500 es compatible, pero no es demasiado legible para el ser humano) IOW, ¿es obligatoria la T entre la fecha y la hora?


Esa fecha no cumple con la norma ISO-8601, como lo indicó Keith Thompson, pero cumple con RFC 3339, un perfil de la norma ISO 8601. Vea la NOTA en la parte inferior del siguiente texto de RFC 3339 :

date-time = full-date "T" full-time NOTE: Per [ABNF] and ISO8601, the "T" and "Z" characters in this syntax may alternatively be lower case "t" or "z" respectively. This date/time format may be used in some environments or contexts that distinguish between the upper- and lower-case letters ''A''-''Z'' and ''a''-''z'' (e.g. XML). Specifications that use this format in such environments MAY further limit the date/time syntax so that the letters ''T'' and ''Z'' used in the date/time syntax must always be upper case. Applications that generate this format SHOULD use upper case letters. NOTE: ISO 8601 defines date and time separated by "T". Applications using this syntax may choose, for the sake of readability, to specify a full-date and full-time separated by (say) a space character.


Se requiere a menos que los "socios en el intercambio de información" acepten omitirlo.

Citando la norma ISO 8601 , sección 4.3.2:

El carácter [T] se utilizará como designador de tiempo para indicar el inicio de la representación del componente de la hora del día en estas expresiones. [...]

NOTA Por acuerdo mutuo de los socios en el intercambio de información, el carácter [T] puede omitirse en aplicaciones donde no exista el riesgo de confundir una representación de fecha y hora del día con otras definidas en esta Norma Internacional.

Omitirlo es bastante común, pero es recomendable dejarlo si la representación debe ser legible por una máquina y no tiene un acuerdo claro de que pueda omitirla.

ACTUALIZACIÓN : El comentario de Mark Amery hace un buen punto, que el permiso para omitir la [T] no implica necesariamente permiso para reemplazarlo con un espacio. Así que esto:

2012-03-02T14:57:05.456+0500

es claramente compatible, y esto:

2012-03-0214:57:05.456+0500

está permitido si los socios acuerdan omitir la [T], pero esto:

2012-03-02 14:57:05.456+0500

aparentemente no lo es (aunque es mucho más legible que la versión con la [T] simplemente omitida).

Personalmente, si se requiriera la conformidad con ISO 8601, incluiría la [T], y si no lo fuera, usaría un espacio (o un guión si formaría parte de un nombre de archivo). Mi conjetura, y no es nada más que eso, era que la intención era permitir que la ''T'' fuera reemplazada por un espacio, pero el estándar no dice eso.