Conversor de marca de tiempo Unix (de epoch a fecha)
Pega cualquier marca de tiempo —segundos, milisegundos, microsegundos o nanosegundos, con o sin separadores, o una cadena de fecha— y la unidad se detecta automáticamente. Convierte a fechas legibles en cualquier zona horaria y viceversa, con salida en ISO 8601 y RFC 2822.
Marca de tiempo → fecha legible
Detectado automáticamente como Segundos (10 dígitos).
Fecha legible → marca de tiempo
Segundos en duraciones comunes
El tiempo Unix ignora los segundos intercalares: cada día tiene exactamente 86.400 segundos.
Respuesta rápida y fórmulas clave de epoch
Respuesta directa: Una marca de tiempo Unix cuenta los segundos transcurridos desde 1970-01-01 00:00:00 UTC. Para obtener la fecha, suma esa cantidad de segundos al epoch: días = ⌊t ÷ 86.400⌋. Para obtener una marca de tiempo en código, usa Math.floor(Date.now() / 1000) en JavaScript o date +%s en una terminal. Los valores de 10 dígitos son segundos; los de 13 dígitos son milisegundos.
El tiempo Unix y las matemáticas de la conversión
El tiempo Unix (tiempo POSIX) es un único número entero que cuenta los segundos transcurridos desde el epoch Unix, la medianoche UTC del 1 de enero de 1970. Como no tiene zona horaria ni reglas de horario de verano, es la forma estándar de almacenar y comparar instantes en bases de datos, logs, API y sistemas de archivos.
1. De marca de tiempo a fecha (epoch → UTC)
Divide la marca de tiempo en días completos y segundos sobrantes, y luego cuenta los días hacia adelante desde el 1 de enero de 1970:
Ejemplo: 1.700.000.000 ÷ 86.400 = 19.675 días + 80.000 s (22:13:20) → 2023-11-14 22:13:20 UTC.
2. De fecha a marca de tiempo (UTC → epoch)
Cuenta los días desde 1970-01-01, conviértelos a segundos, suma la hora del día y resta el desfase UTC de la zona horaria:
Ejemplo: 2026-01-01 00:00 UTC son 20.454 días × 86.400 = 1.767.225.600.
¿Segundos o milisegundos? Cuenta los dígitos
Para fechas actuales, 10 dígitos significan segundos y 13 dígitos, milisegundos (16 = microsegundos, 19 = nanosegundos). JavaScript y Java usan milisegundos; las terminales Unix, PHP y time.time() de Python usan segundos:
1767225600 (10 dígitos) y 1767225600000 (13 dígitos) son el mismo instante: 2026-01-01 00:00 UTC.
Marcas de tiempo Unix destacadas
| Marca de tiempo | Fecha y hora UTC | Significado |
|---|---|---|
| −2.208.988.800 | 1900-01-01 00:00:00 | Epoch de NTP — un tiempo Unix negativo |
| 0 | 1970-01-01 00:00:00 | El epoch Unix |
| 1.000.000.000 | 2001-09-09 01:46:40 | El «billennium» de Unix |
| 1.234.567.890 | 2009-02-13 23:31:30 | Dígitos consecutivos celebrados por los desarrolladores |
| 1.700.000.000 | 2023-11-14 22:13:20 | 1.700 millones de segundos |
| 2.000.000.000 | 2033-05-18 03:33:20 | Dos mil millones de segundos |
| 2.147.483.647 | 2038-01-19 03:14:07 | Máximo de un entero de 32 bits con signo (problema del año 2038) |
Preguntas frecuentes
¿Qué es una marca de tiempo Unix?
Una marca de tiempo Unix es el número de segundos transcurridos desde las 00:00:00 UTC del 1 de enero de 1970, sin contar los segundos intercalares. No depende de la zona horaria, así que el mismo instante tiene la misma marca de tiempo en todas partes.
¿El tiempo Unix cuenta los segundos intercalares?
No. El tiempo Unix considera que cada día tiene exactamente 86.400 segundos. Cuando se produce un segundo intercalar, el reloj repite un segundo o lo distribuye, de modo que el tiempo Unix sigue alineado con las fechas UTC.
¿Qué es el problema del año 2038?
Los sistemas que almacenan el tiempo en un entero de 32 bits con signo solo pueden contar hasta 2.147.483.647, que corresponde a las 03:14:07 UTC del 19 de enero de 2038. Un segundo después, el valor se desborda a una fecha de 1901. Los sistemas modernos de 64 bits no se ven afectados.
¿Cómo obtengo la marca de tiempo Unix actual en código?
JavaScript: Math.floor(Date.now() / 1000). Python: int(time.time()). PHP: time(). Bash: date +%s. SQL (PostgreSQL): EXTRACT(EPOCH FROM NOW()).
¿Cómo sabe el conversor si una marca de tiempo está en segundos o en milisegundos?
Se fija en la magnitud: para fechas entre 1973 y 5138, los segundos tienen de 9 a 11 dígitos, los milisegundos de 12 a 14, los microsegundos de 15 a 17 y los nanosegundos 18 o más. También entiende separadores como 1,767,225,600, un sufijo de unidad como ms o una cadena de fecha como 2026-01-01T00:00:00Z, y puedes cambiar la unidad manualmente.