Cómo se usa
- 1El tiempo Unix actual avanza en la parte superior de la herramienta. Haz clic en Copiar para llevártelo en segundos o en milisegundos.
- 2Pega una marca de tiempo en «De marca de tiempo a fecha». La unidad se reconoce por el número de dígitos; si no acierta, elige manualmente segundos, milisegundos, microsegundos o nanosegundos.
- 3También puedes pegar una fecha, como
2024-05-01T12:00:00ZoWed, 01 May 2024 12:00:00 GMT, para verla en todos los formatos y como marca de tiempo. - 4Para hacer la conversión inversa, elige una fecha y una hora en «De fecha a marca de tiempo», selecciona hora local o UTC y copia el resultado.
¿Qué es el tiempo Unix?
El tiempo Unix (también llamado tiempo epoch o marca de tiempo POSIX) cuenta los segundos transcurridos desde las 00:00:00 UTC del 1 de enero de 1970, la época Unix. El contador superó los 1 700 000 000 el 14 de noviembre de 2023 a las 22:13:20 UTC. Los momentos anteriores a 1970 son números negativos.
Una marca de tiempo es un único número, sin zonas horarias, calendarios ni formatos de fecha, así que es fácil de guardar, ordenar y comparar. Por eso la usan por todas partes las bases de datos, las API, los archivos de log, los sistemas de archivos y los JSON Web Tokens.
¿Segundos, milisegundos, microsegundos o nanosegundos?
El tiempo Unix clásico cuenta segundos, y los valores actuales tienen 10 dígitos. Date.now() de JavaScript y System.currentTimeMillis() de Java devuelven milisegundos (13 dígitos), algunas bases de datos guardan microsegundos (16 dígitos), y UnixNano() de Go y time.time_ns() de Python devuelven nanosegundos (19 dígitos).
El conversor deduce la unidad por la longitud del número: hasta 11 dígitos supone segundos; de 12 a 14, milisegundos; de 15 a 17, microsegundos, y 18 o más, nanosegundos. Solo los valores en milisegundos muy pequeños, anteriores a marzo de 1973, son ambiguos: en esos casos, elige la unidad manualmente.
Zonas horarias, el año 2038 y los segundos intercalares
Una marca de tiempo señala el mismo instante en todo el planeta; solo su visualización depende de la zona horaria. 1 700 000 000 son las 22:13:20 en Londres, las 23:13:20 en Madrid y las 16:13:20 en Ciudad de México. Guarda e intercambia las horas en UTC, y conviértelas a la hora local solo cuando las muestres a las personas.
Los sistemas que guardan el tiempo Unix en un entero de 32 bits con signo se agotan a las 03:14:07 UTC del 19 de enero de 2038, cuando el contador se desborda y vuelve a 1901: es el problema del año 2038. Los sistemas actuales usan 64 bits, que alcanzan para miles de millones de años.
El tiempo Unix ignora los segundos intercalares: cada día cuenta exactamente 86 400 segundos. Cuando se añade un segundo intercalar a UTC, el reloj Unix repite un segundo o lo reparte, así que la diferencia entre dos marcas de tiempo puede quedarse corta en tantos segundos como segundos intercalares haya entre ellas: 27 desde 1972.
Preguntas frecuentes
¿Cómo obtengo la marca de tiempo Unix actual?
Aparece en la parte superior de esta página. En código, usa Math.floor(Date.now() / 1000) en JavaScript, time.time() en Python, time() en PHP, DateTimeOffset.UtcNow.ToUnixTimeSeconds() en C# o date +%s en una terminal de Linux o macOS.
¿Una marca de tiempo Unix va en segundos o en milisegundos?
Tradicionalmente, en segundos, pero muchas plataformas, como JavaScript y Java, usan milisegundos. Cuenta los dígitos: una marca de tiempo actual tiene 10 dígitos en segundos y 13 en milisegundos. Este conversor reconoce la unidad y te indica cuál supone.
¿El tiempo Unix depende de la zona horaria?
No. Siempre se cuenta desde la medianoche UTC del 1 de enero de 1970, así que es el mismo número en todas partes en el mismo momento. La zona horaria solo importa cuando conviertes el número en una fecha del calendario y una hora del reloj.
¿Qué pasará con el tiempo Unix en 2038?
A las 03:14:07 UTC del 19 de enero de 2038, el tiempo Unix superará 2 147 483 647, el valor más alto que cabe en un entero de 32 bits con signo. El software que todavía guarde la hora en 32 bits volverá a diciembre de 1901. Los sistemas operativos, las bases de datos y los lenguajes modernos usan tiempo de 64 bits y no se ven afectados.
¿Cómo convierto una marca de tiempo Unix en Excel o Google Sheets?
Para segundos, usa =A1/86400+DATE(1970,1,1) y aplica a la celda un formato de fecha y hora; para milisegundos, divide entre 86 400 000. En Excel en español, la función se llama FECHA y, según tu configuración regional, puede que tengas que separar los argumentos con punto y coma: =A1/86400+FECHA(1970;1;1). El resultado está en UTC, así que suma o resta tu diferencia con UTC en horas dividida entre 24.