Timestamps
Convierte entre timestamp Unix y fecha legible.
Gratis y sin registro · Última revisión:
Ctrl+Enter calcular · Esc limpiar foco · / buscar
Conversor de Timestamps Unix
💡 ¿Qué es Unix Timestamp?
Es el número de segundos transcurridos desde el 1 de enero de 1970 (época Unix). Se usa comúnmente en logs de servidor, bases de datos y sistemas Unix/Linux.
¿Para qué se usa un timestamp Unix?
Al ser un simple número (segundos desde el 1 de enero de 1970 UTC), es la forma más sencilla y universal de guardar fechas en bases de datos, APIs y logs, sin ambigüedad de formato ni zona horaria. La conversión a fecha legible solo se hace al mostrarlo, aplicando la zona horaria que corresponda.
Cómo usar esta herramienta
- Elige la dirección: de timestamp a fecha, o de fecha a timestamp.
- Introduce el valor (o pulsa "Ahora" para usar la hora actual).
- Selecciona la zona horaria en la que quieres ver el resultado.
Ejemplo práctico
El timestamp 1704067200 corresponde al 1 de enero de 2024 a las 00:00:00 UTC. Es habitual encontrarlo así en logs de servidor o campos created_at de una API.
Conceptos clave
Un timestamp Unix (o marca de tiempo Unix) es simplemente el número de segundos transcurridos desde la medianoche del 1 de enero de 1970 en UTC, momento que se conoce como epoch. Es el sistema estándar que usan la mayoría de bases de datos, APIs y lenguajes de programación para representar una fecha y hora como un único número entero, sin ambigüedad de formato ni dependencia del idioma o la configuración regional del sistema que lo lee.
Un problema conocido de este sistema es el "problema del año 2038": muchos sistemas antiguos almacenan el timestamp como un entero con signo de 32 bits, que se desborda (overflow) el 19 de enero de 2038 a las 03:14:07 UTC. A partir de ese instante, el contador vuelve a un número negativo y las fechas se interpretan como si fuera 1901, de forma similar al conocido "efecto 2000". La mayoría de sistemas modernos ya usan enteros de 64 bits, que retrasan este límite varios miles de millones de años, pero sigue siendo relevante en hardware embebido o sistemas heredados.
Es importante distinguir entre UTC (tiempo universal coordinado, sin zona horaria) y la hora local, que depende del huso horario del usuario. El timestamp Unix en sí mismo siempre representa un instante en UTC; la conversión a hora local (por ejemplo, Madrid en horario de verano, UTC+2) es responsabilidad de quien lo muestra. Confundir ambos es una fuente habitual de bugs: un evento registrado a medianoche en Nueva York no es el mismo instante que uno registrado a medianoche en Madrid, aunque el número que aparezca en pantalla parezca "la misma hora". Para evitar confusiones de formato entre sistemas, se suele usar el estándar ISO 8601, con el formato2024-01-01T00:00:00Z, donde la "Z" final indica explícitamente que la hora está en UTC.
Otro detalle que genera errores frecuentes es la unidad del timestamp: el estándar Unix usa segundos, pero JavaScript, al construir un objetoDate, trabaja internamente con milisegundos desde el epoch. Por eso es habitual tener que multiplicar o dividir por 1000 al pasar un timestamp entre un backend en Python (segundos) y un frontend en JavaScript (milisegundos), un olvido que suele producir fechas erróneas situadas en 1970. Otros lenguajes también tienen sus propias convenciones: Python, por ejemplo, trabaja en segundos con decimales cuando se necesita precisión de microsegundos, mientras que muchas bases de datos SQL almacenan las fechas ya convertidas a un tipo nativo en lugar de un entero, precisamente para evitar este tipo de confusión entre unidades.
Preguntas frecuentes
¿El timestamp Unix incluye la zona horaria?
No, siempre representa segundos desde la época Unix en UTC. La zona horaria solo se aplica al convertirlo a una fecha legible para mostrarla.
¿Qué es el "problema del año 2038"?
Los sistemas que guardan el timestamp en un entero de 32 bits con signo se desbordarán el 19 de enero de 2038. La mayoría de sistemas modernos ya usan 64 bits y no se ven afectados.
¿Por qué algunos timestamps tienen más dígitos?
Porque están en milisegundos en vez de segundos (habitual en JavaScript). Un timestamp en milisegundos tiene 13 dígitos aproximadamente, frente a los 10 de uno en segundos.