Conversor de fechas ISO 8601

Convierte entre ISO 8601, timestamps Unix y hora local

Deja la hora en blanco para usar medianoche (00:00:00).

Acerca de Conversor de fechas ISO 8601

ISO 8601 es la norma internacional para escribir fechas y horas de la unidad mayor a la menor: año-mes-día, una T, horas:minutos:segundos y el desfase respecto a UTC, como en 2026-09-22T09:00:00+02:00. Este conversor toma una cadena así, o una marca de tiempo Unix, y devuelve la forma UTC, el mismo instante con el desfase que elijas, la marca en segundos y milisegundos, y el número de día de la semana ISO.

El desfase es lo que hace inequívoca una hora. Sin él, 2026-09-22T09:00 es «las nueve en algún sitio», y la herramienta lo interpreta como las nueve en el desfase seleccionado debajo del campo.

ISO 8601 frente a RFC 3339

Cuando una documentación de API dice «formato ISO 8601», casi siempre quiere decir RFC 3339, un perfil reducido de ISO 8601 pensado para Internet. RFC 3339 exige año de cuatro cifras, todos los campos hasta los segundos y un desfase (Z o ±hh:mm). El formato date-time de JSON Schema y muchas APIs en la nube remiten a él.

ISO 8601 es bastante más amplia. El formato básico sin separadores (20260922T090000Z), las fechas por semana (2026-W39-2), las fechas ordinales (2026-265), las horas truncadas a minutos, las duraciones (P1M) y los intervalos son ISO 8601 válido pero no marcas de tiempo RFC 3339. A cambio, RFC 3339 permite un espacio en lugar de la T por legibilidad y reserva -00:00 para decir «hora UTC, desfase local desconocido». La forma que cumple ambas es la más sencilla: 2026-09-22T00:00:00Z.

La herramienta lee el formato extendido (con guiones y dos puntos), solo fecha o fecha y hora. Además de fechas de calendario, lee fechas por semana (2026-W39-2; sin la cifra del día, el lunes), fechas ordinales (2026-265) y el formato básico (20260922T090000Z). Acepta un espacio en vez de T, un desfase sin dos puntos como +0200 o +02 y la z minúscula. Una cadena solo de dígitos como 20260922 o 2026265 se lee como marca de tiempo Unix, así que para una fecha en formato básico sin hora añade guiones o una hora (T0000). Una duración como P1M recibe un aviso de que es un intervalo de tiempo, no un instante; el segundo intercalar (:60) sigue sin aceptarse. Admite hasta nueve decimales de segundo y los recorta a milisegundos.

Fechas por semana: ¿cuándo es 2026-W39?

Las semanas ISO empiezan en lunes, y la semana 1 es la que contiene el primer jueves del año (o, lo que es lo mismo, el 4 de enero). El 1 de enero de 2026 es jueves, así que 2026-W01 empieza el lunes 29 de diciembre de 2025. Sumando 38 semanas, 2026-W39 va del lunes 21 al domingo 27 de septiembre, y el martes 22 es 2026-W39-2. El día ISO que muestra la herramienta es esa última cifra.

En España y buena parte de Europa la numeración ISO es la que usan las agendas y los calendarios laborales, pero muchas aplicaciones configuradas al estilo estadounidense (semana desde el domingo, semana 1 la del 1 de enero) numeran distinto. El cambio de año es el punto delicado: 2026 empieza en jueves y tiene 53 semanas, de modo que el viernes 1 de enero de 2027 es 2026-W53-5. En Excel, ISO.NUM.DE.SEMANA sigue la norma; NUM.DE.SEMANA con sus opciones por defecto, no.

¿Cuánto dura P1M?

Las duraciones ISO 8601 empiezan por P y separan la parte de fecha de la de hora con una T: P1Y2M10DT2H30M son un año, dos meses, diez días, dos horas y treinta minutos; PT36H son 36 horas. La M significa meses antes de la T y minutos después, así que P1M es un mes y PT1M un minuto. Ese carácter provoca más errores de los que parece en caducidades de caché y de tokens.

P1M no tiene longitud fija. Sumado al 15 de enero son 31 días; al 15 de febrero, 28. La norma no define el 31 de enero más P1M, y las bibliotecas difieren: unas lo ajustan al 28 de febrero y otras se pasan a marzo. En la noche del cambio de hora, P1D (misma hora de reloj al día siguiente) y PT24H (24 horas exactas) acaban separadas por una hora. Si una duración decide una fecha de cobro o la renovación de una suscripción, comprueba qué hace tu biblioteca. Este conversor no calcula duraciones; para sumar meses de calendario usa la calculadora de fechas.

Un desfase no es una zona horaria

+02:00 afirma un solo hecho: en este instante la hora local va dos horas por delante de UTC. Un nombre de zona de la base de datos de IANA, como Europe/Madrid o America/Mexico_City, recoge toda la historia y el futuro de los desfases de una región, incluido el horario de verano. Madrid está en +02:00 en verano y +01:00 en invierno.

Si en septiembre guardas una reunión para «el 10 de noviembre a las 9:00 en Madrid» como 2026-11-10T09:00:00+02:00, te equivocas: el horario de verano en la UE termina el último domingo de octubre (el 25 de octubre de 2026), así que ese día Madrid está en +01:00 y el instante guardado corresponde a las 8:00 locales. Los eventos locales futuros se guardan como hora local más nombre de zona. RFC 9557 (2024) normaliza un sufijo para ello: 2026-11-10T09:00:00+01:00[Europe/Madrid], la misma notación que usa la API Temporal de JavaScript. El selector de esta herramienta es un desfase fijo y no sabe nada del horario de verano; elige el que corresponde a la fecha que conviertes.

Ejemplos

Las 9:00 de Madrid en verano, a UTC

Entrada
2026-09-22T09:00:00+02:00
Resultado
UTC 2026-09-22T07:00:00.000Z / Unix 1790042400 / día ISO 2 (martes)

Como fecha por semana es 2026-W39-2; como fecha ordinal, 2026-265.

Un instante de Seúl visto desde Nueva York

Entrada
2026-09-22T09:00:00+09:00, desfase de visualización −04:00
Resultado
2026-09-21T20:00:00.000-04:00, día ISO 1 (lunes)

Cambiar el desfase puede cambiar la fecha y el día de la semana; ambos se calculan en el desfase elegido.

Solo una fecha

Entrada
2026-09-22 con desfase de visualización −06:00
Resultado
UTC 2026-09-22T00:00:00.000Z, mostrado como 2026-09-21T18:00:00.000-06:00

Una fecha sin hora se interpreta como medianoche UTC, no como medianoche en el desfase elegido. new Date(“2026-09-22”) en JavaScript hace lo mismo, y por eso algunos formularios en América muestran el día anterior.

Fecha por semana, ordinal y formato básico

Entrada
2026-W39-2 / 2026-265 / 20260922T090000Z
Resultado
2026-09-22T00:00:00.000Z / 2026-09-22T00:00:00.000Z / 2026-09-22T09:00:00.000Z

Las tres se devuelven en la forma extendida de calendario. P1M recibe el aviso de «duración, no un instante», y el segundo intercalar 2016-12-31T23:59:60Z sigue dando error de fecha.

Cómo se usa

  1. Pega una cadena ISO 8601 o una marca de tiempo Unix, o elige fecha y hora.
  2. Selecciona el desfase de visualización o pulsa «Usar mi zona horaria».
  3. Copia el resultado UTC, con desfase o como marca de tiempo.

Preguntas frecuentes

¿Qué significa la Z final?

UTC, desfase +00:00. Viene de la letra Z («Zulu») de las zonas horarias militares.

¿+0200 y +02:00 son lo mismo?

Es el mismo desfase. Sin dos puntos es la notación básica de ISO 8601; RFC 3339 exige los dos puntos. La herramienta lee ambas.

¿Cómo se interpreta una cadena sin desfase?

Si lleva hora, en el desfase de visualización elegido. Si es solo fecha, como medianoche UTC.

¿Un número suelto se lee como segundos o milisegundos?

Depende de las cifras: hasta 11, segundos; de 12 a 14, milisegundos; de 15 a 17, microsegundos; 18 o 19, nanosegundos (la hora actual tiene 10, 13, 16 o 19 cifras). El conversor de marcas de tiempo Unix usa la misma regla.

¿Qué semana ISO es el 31 de diciembre de 2026?

2026-W53-4. 2026 tiene 53 semanas porque empieza en jueves.

Fuentes

Revisado el:

Privacidad y tratamiento de datos