Guía
ISO 8601 frente a timestamp Unix: diferencias y usos
Compara fechas de texto ISO 8601 con timestamps Unix, zonas horarias, precisión y ejemplos que representan el mismo instante.
por Tools in a Tab · Publicado el · Revisado el
Respuesta breve
ISO 8601 describe fechas y horas mediante texto estructurado, por ejemplo
2000-01-01T00:00:00Z. Un timestamp Unix expresa un instante como una cantidad
desde 1970-01-01T00:00:00Z, normalmente en segundos o milisegundos. Ambos
pueden señalar el mismo instante, pero conservan información y unidades
diferentes.
El mismo instante en dos representaciones
Estas expresiones son equivalentes:
ISO/RFC 3339 UTC: 2000-01-01T00:00:00Z
ISO con offset: 1999-12-31T19:00:00-05:00
Unix segundos: 946684800
Unix milisegundos:946684800000
La Z indica UTC. El offset -05:00 indica que el reloj local estaba cinco
horas por detrás; no es otro instante. Puedes comprobar las cuatro formas en
el conversor de fecha, hora y timestamp.
Qué conserva cada formato
| Aspecto | Fecha ISO 8601/RFC 3339 | Timestamp Unix |
|---|---|---|
| Lectura humana | Alta | Baja |
| Zona u offset visible | Puede incluirlo | No |
| Unidad | Forma parte de la sintaxis | Debe acordarse aparte |
| Orden cronológico | Sí, con forma y zona normalizadas | Sí, como número |
| Uso habitual | APIs, registros, configuración | Cálculo, expiración, almacenamiento |
Un timestamp no contiene el nombre de una zona como Europe/Madrid, ni dice
por sí solo si utiliza segundos o milisegundos. Una cadena con offset conserva
el desplazamiento escrito, pero tampoco describe necesariamente las reglas
históricas completas de una zona.
Cuándo usar cada uno
Usa una fecha ISO con offset o Z en interfaces, registros y APIs donde una
persona deba reconocerla o donde la zona escrita sea relevante. Usa Unix time
cuando necesites comparar, ordenar o calcular duraciones mediante un contrato
numérico compacto.
En una API, documenta siempre una de estas opciones con precisión. No aceptes indistintamente segundos, milisegundos y texto para luego adivinar el formato por la longitud: esa heurística falla con fechas antiguas, futuras o valores negativos.
Errores frecuentes
- Enviar
2026-08-09T10:00:00sinZni offset y asumir que todos leerán UTC. - Multiplicar por
1000dos veces al pasar de segundos a milisegundos. - Formatear un timestamp en hora local y creer que el valor numérico cambió.
- Ordenar cadenas con offsets diferentes sin normalizarlas primero.
- Confundir ISO 8601 completo con el perfil más restringido que acepte una API.
El RFC 3339 define un perfil de
fecha y hora para protocolos de Internet basado en ISO 8601. La definición de
NumericDate del RFC 7519
usa segundos desde el epoch Unix para claims JWT. Elige una representación y
declárala como parte del contrato.