Ir al contenido principal

Conversor de Marca de Tiempo Unix

Convierte marcas de tiempo Unix a fechas legibles y viceversa. Soporta segundos y milisegundos.

Tiempo Unix Actual

Sobre las Marcas de Tiempo Unix

Una marca de tiempo Unix (también llamada tiempo POSIX o tiempo de época) cuenta los segundos transcurridos desde la medianoche UTC del 1 de enero de 1970. Este punto de referencia, conocido como la época Unix, fue elegido cuando Ken Thompson y Dennis Ritchie diseñaron el sistema de tiempo para el sistema operativo Unix original en Bell Labs. El entero con signo de 32 bits que se usaba para almacenar marcas de tiempo en los primeros sistemas puede representar fechas desde el 13 de diciembre de 1901 hasta el 19 de enero de 2038, cuando el contador se desborda. Este es el problema Y2K38; la mayoría de los sistemas modernos han migrado a marcas de tiempo de 64 bits.

Las marcas de tiempo aparecen en toda la programación: registros de bases de datos, respuestas de API, archivos de log, tokens JWT, cabeceras HTTP y sistemas de compilación. La precisión en segundos es la más común, pero Date.now() de JavaScript y muchas APIs devuelven valores en milisegundos (13 dígitos en lugar de 10). Este conversor detecta automáticamente el formato según la magnitud.

Esta herramienta convierte bidireccionalmente entre marcas de tiempo Unix y fechas legibles. Ingresa una marca de tiempo o selecciona una fecha, y la otra vista se actualiza al instante. El tiempo Unix actual se muestra en vivo como referencia.

Preguntas frecuentes

¿Qué es un timestamp Unix (tiempo de época)?

Un timestamp Unix es el número de segundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC, un momento conocido como la época Unix. Proporciona una representación entera única de cualquier punto en el tiempo, lo que lo convierte en la forma estándar de almacenar y transmitir tiempo en bases de datos, APIs, archivos de log y lenguajes de programación.

¿Qué es el problema del año 2038 (Y2K38)?

El problema Y2K38 ocurre porque muchos sistemas antiguos almacenan timestamps Unix como un entero con signo de 32 bits, cuyo valor máximo es 2.147.483.647, correspondiente al 19 de enero de 2038 a las 03:14:07 UTC. Después de ese segundo, el contador se desborda y pasa a un número negativo que representa una fecha de diciembre de 1901. La mayoría de los sistemas modernos ahora usan timestamps de 64 bits, que no se desbordarán en 292 mil millones de años.

¿Cómo sé si un timestamp está en segundos o milisegundos?

Cuenta los dígitos. Un timestamp Unix en segundos para fechas entre 2001 y 2286 tiene 10 dígitos (ej. 1700000000). Uno en milisegundos tiene 13 dígitos (ej. 1700000000000). Date.now() de JavaScript devuelve milisegundos, mientras que la mayoría de las herramientas de línea de comandos Unix y muchas APIs usan segundos. Este conversor detecta automáticamente el formato según la magnitud.

¿Los timestamps Unix tienen en cuenta los segundos intercalares?

No. El tiempo Unix ignora deliberadamente los segundos intercalares. El estándar POSIX define cada día como exactamente 86.400 segundos. Cuando se inserta un segundo intercalar (como ocurrió 27 veces entre 1972 y 2016), los relojes Unix repiten un segundo, ajustan el reloj gradualmente o retroceden. Los timestamps Unix no son una cuenta perfectamente continua de segundos SI, pero la simplificación hace que la aritmética de fechas sea mucho más fácil.

¿Qué significa un timestamp Unix negativo?

Un timestamp Unix negativo representa una fecha anterior a la época Unix (1 de enero de 1970). Por ejemplo, -86400 corresponde al 31 de diciembre de 1969. Los timestamps negativos son válidos y se usan comúnmente para representar fechas históricas en bases de datos y programación. La fecha más antigua que un timestamp de 32 bits con signo puede representar es el 13 de diciembre de 1901.