Conversor de timestamp Unix: epoch a fecha legible y viceversa
Pega un timestamp para leerlo como fecha, o elige una fecha para obtener su timestamp. La herramienta detecta segundos, milisegundos, microsegundos y nanosegundos y muestra UTC y la zona horaria que elijas
Timestamp y fecha
Solo dígitos; agrega un signo menos para fechas anteriores a 1970. Al editar un campo se actualiza el otro. Rango válido: unos ±8,64 × 10¹⁵ milisegundos alrededor de 1970.
El tiempo Unix cuenta segundos desde 1970-01-01 00:00:00 UTC e ignora los segundos intercalares. La zona horaria solo cambia cómo se muestra el instante.
Cómo usar esta herramienta
- Pega un timestamp Unix o presiona «Usar la hora actual». El campo de fecha se completa al instante.
- Deja la unidad en Auto, o elige segundos, milisegundos, microsegundos o nanosegundos.
- Elige una zona horaria y lee el resultado en UTC y en esa zona. Para ir en sentido contrario, edita la fecha y la hora y lee el timestamp en las cuatro unidades. Usa «Copiar resultado» para guardarlo.
Ejemplo práctico
El timestamp 1700000000 tiene 10 dígitos, así que se lee como segundos: 2023-11-14T22:13:20Z en UTC. En America/Sao_Paulo (UTC−03:00 ese día) el reloj marca las 19:13:20 de ese mismo martes, el día 318 de 2023. Agrega tres ceros, 1700000000000, y la herramienta detecta milisegundos y muestra el mismo instante. En sentido contrario, 2024-01-01 00:00:00 en UTC son 1704067200 segundos.
Metodología
El manual de Linux define el tiempo Unix como el número de segundos desde la Epoch, 1970-01-01 00:00:00 UTC, y dice que los sistemas Linux normalmente siguen el requisito de POSIX de que este valor ignore los segundos intercalares (página de manual time(2)). POSIX da la aritmética: cada día cuenta exactamente 86400 segundos, de modo que un timestamp son los días desde la Epoch por 86400 más los segundos transcurridos del día. JavaScript, que ejecuta esta herramienta, guarda el mismo instante como milisegundos desde la Epoch y admite valores de hasta ±8,64 × 10¹⁵ ms, del 20 de abril de 271821 a. C. al 13 de septiembre de 275760 d. C. (MDN). Las fechas se escriben en formato ISO 8601, con el perfil que define la RFC 3339, usando «Z» para UTC o un desfase como −03:00. Todo se ejecuta en tu navegador, y las reglas de zonas horarias salen de los datos del propio navegador, no de este sitio.
Cuatro errores con timestamps y cómo detectarlos
La mayoría de las fechas erróneas vienen de unas pocas causas repetidas. Revísalas antes de depurar otra cosa.
- Segundos leídos como milisegundos, o al revés. 1700000000 tomado como milisegundos es 1970-01-20, solo 19 días después de la Epoch, y 1700000000000 tomado como segundos cae en el año 55840. Una fecha cercana a 1970 o en un futuro lejano suele indicar la unidad equivocada.
- Confundir hora local y UTC. Un timestamp es un instante; la hora del reloj depende de la zona. 1700000000 son las 22:13:20 en UTC y las 19:13:20 en São Paulo, y ambas son correctas.
- Guardar segundos en un entero de 32 bits con signo. El valor máximo, 2147483647, es 2038-01-19 03:14:07 UTC, y el mínimo, −2147483648, es 1901-12-13 20:45:52 UTC. La página de manual time(2) aconseja un time_t más ancho para el software que deba funcionar después de 2038.
- Esperar segundos intercalares. El tiempo Unix cuenta cada día como 86400 segundos, así que sumar 86400 a un timestamp da siempre la misma hora UTC un día después.
Preguntas frecuentes
¿Qué es un timestamp Unix? ▼
Es el número de segundos desde 1970-01-01 00:00:00 UTC, la Epoch de Unix, sin contar los segundos intercalares. Por ejemplo, 1700000000 es 2023-11-14T22:13:20Z. Al ser un solo número para un solo instante, es fácil de guardar, ordenar y comparar, y no depende de una zona horaria ni de un formato de fecha.
¿Cómo sé si un timestamp está en segundos o en milisegundos? ▼
Cuenta los dígitos. Los timestamps de fechas cercanas a hoy tienen 10 dígitos en segundos, 13 en milisegundos, 16 en microsegundos y 19 en nanosegundos. El modo Auto aplica esa regla y muestra lo que ha detectado. Los números muy pequeños, como 1000, son ambiguos; elige tú la unidad si la conoces.
¿Qué pasa en 2038? ▼
2147483647 segundos, 2038-01-19 03:14:07 UTC, es el mayor valor de un entero de 32 bits con signo. El software que guarda segundos en 32 bits no puede contener el siguiente segundo y puede dar la vuelta a una fecha de 1901. El manual de Linux aconseja un time_t más ancho para el software que deba funcionar después de 2038. Esta herramienta usa números mayores, así que solo te avisa.
¿Tiene zona horaria un timestamp Unix? ▼
No. Identifica un único instante para todos los habitantes de la Tierra. La zona horaria solo decide qué hora del reloj muestras para ese instante: 1700000000 son las 22:13:20 UTC y las 19:13:20 en America/Sao_Paulo. Cuando editas el campo de fecha, la herramienta lo lee en la zona elegida.
¿El tiempo Unix incluye segundos intercalares? ▼
No. POSIX cuenta cada día como exactamente 86400 segundos y Linux sigue esa regla, de modo que el contador no se mueve por un segundo intercalar. Sumar 86400 a un timestamp da por eso siempre la misma hora UTC un día después, y esta herramienta no puede mostrar 23:59:60.