DevBento logoDevBento
Herramientas/Conversor de Tiempo Unix: de Conversión Epoch/Unix Epoch: Tiempo Unix 0, 1 de Enero de 1970

Unix Epoch: Tiempo Unix 0, 1 de Enero de 1970

El tiempo Unix 0 es el 1 de enero de 1970 00:00:00 UTC. Explica por qué se eligió 1970, tiempos negativos, errores de segundos vs milisegundos e intercalares.

Herramientas Relacionadas
jwtDecodificador JWT
Decode JWT exp and iat timestamps
* *Constructor de Expresiones Cron
Convert timestamp to a cron schedule
uuidGenerador de UUID
Generate a time-based UUID v7
🌍Conversor de Zona Horaria
Convierte la hora entre zonas horarias IANA con ajuste automático por horario de verano. Añade múltiples destinos y consulta offsets. 100% del lado del cliente.

Tiempo Unix 0: El Inicio del Tiempo Unix

El tiempo Unix 0 es el 1 de enero de 1970 00:00:00 UTC. Cada tiempo Unix es el número de segundos transcurridos desde este momento. El tiempo Unix 1 es un segundo después. El tiempo Unix 86400 es exactamente un día después, el 2 de enero de 1970.

# Verificar en la terminal
date -d @0       # Linux
date -r 0        # macOS
# Ambos muestran: Thu Jan  1 00:00:00 UTC 1970

Como se Eligió el Epoch

Unix comenzó a desarrollarse en Bell Labs en 1969. La implementación original en PDP-7 usaba una base de tiempo diferente. El formato de tiempo Unix se estabilizo durante la migración a PDP-11 entre 1971 y 1973.

La elección del 1 de enero de 1970 fue pragmatica más que basada en principios:

Tiempos Unix Negativos: Antes de 1970

El tiempo Unix -86400 es el 31 de diciembre de 1969 00:00:00 UTC. Yendo más atras, -2208988800 es el 1 de enero de 1900, el epoch usado por NTP (Protocolo de Tiempo de Red).

Segundos vs Milisegundos: Una Fuente Persistente de Errores

El tiempo Unix se define en segundos. Sin embargo, el objeto Date de JavaScript (y la mayoría de las API del navegador) usa milisegundos:

Date.now()           // milisegundos desde el epoch, ej. 1700000000000
Math.floor(Date.now() / 1000)  // convertir a segundos: 1700000000

El error canonico: lees un tiempo Unix en segundos desde una base de datos, lo pasas directamente a new Date() sin multiplicar por 1000, y obtienes una fecha en enero de 1970 en lugar de 2023.

Como Diferentes Sistemas Representan el Mismo Instante

El instante 1 de enero de 2024 00:00:00 UTC:

Sistema Representación Notas
Unix (segundos) 1704067200 Estándar C/POSIX
Unix (milisegundos) 1704067200000 JavaScript Date
Windows FILETIME 133603488000000000 100-ns intervalos desde 1601
OLE Automation 45291.0 Double desde 1900
NTP 3866497216 Segundos desde 1900

Segundos Intercalares y Tiempo Unix

El tiempo Unix idealmente cuenta segundos SI, pero los días no tienen exactamente 86400 segundos SI porque la rotación de la Tierra se esta frenando. Los segundos intercalares (leap seconds) se añaden ocasionalmente al UTC para mantenerlo sincronizado con el tiempo astronomico. El tratamiento de Unix para los segundos intercalares es controversial: la mayoría de las implementaciones repiten o saltan un segundo, lo que significa que una representación de tiempo Unix no es estrictamente un conteo de segundos SI.

🔒

Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.

© 2026 devbento.dev · construido localmenteChangelog