Regex para fecha y hora ISO 8601

Usa /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/ para comprobar que una cadena completa es una fecha y hora ISO 8601 válida. Cada ejemplo de abajo está probado con el patrón, y puedes abrirlo en el Probador de Regex con las muestras ya cargadas.

Actualizado el

/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/
Abrir en el Probador de Regex
EntradaResultado
2026-10-30T14:30:00Z✓ Coincide
2026-10-30T14:30:00.123+05:30✓ Coincide
2026-10-30T14:30Z✓ Coincide
2026-10-30 14:30:00✗ No coincide
2026-10-30T14:30:00✗ No coincide
2026-10-30T14:30:00+0530✗ No coincide

Cómo funciona el patrón

ParteSignificado
\d{4}-\d{2}-\d{2}La fecha
TEl separador T literal
\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?Horas y minutos, con segundos y fracciones opcionales
(?:Z|[+-]\d{2}:\d{2})Z para UTC, o un desfase como +05:30

Ejemplos de código

JavaScript

const re = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})', value))

PHP

preg_match('/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/', $value) === 1;

Notas y limitaciones

Esto exige una zona horaria, lo que evita marcas de tiempo ambiguas. new Date().toISOString() en JavaScript siempre produce una cadena que coincide. Convierte marcas de tiempo con el Conversor de Unix Timestamp.

Preguntas frecuentes

¿Cuál es la regex para fecha y hora ISO 8601?
/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/ — coincide con la cadena completa. Consulta la tabla de arriba para ver qué hace cada parte.
¿Qué ejemplos coinciden?
De los ejemplos probados, estos coinciden: 2026-10-30T14:30:00Z, 2026-10-30T14:30:00.123+05:30, 2026-10-30T14:30Z. Los demás no.
¿Cómo pruebo esta regex?
Haz clic en “Abrir en el Probador de Regex”: el patrón, las banderas y el texto de muestra se cargan automáticamente, y las coincidencias se resaltan mientras editas.