Unix Timestamp Converter

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, el Unix epoch. Por qué se eligió 1970, tiempos Unix negativos, errores de segundos vs milisegundos y segundos intercalares.

100% del lado del cliente. Tus datos nunca salen de tu navegador.

Timestamp Unix Actual

1780959069

June 8, 2026 at 10:51:09 PM UTC

Timestamp → Fecha

Fecha: January 1, 1970 at 12:00:00 AM UTC
ISO 8601: 1970-01-01T00:00:00.000Z
Día: Thursday
Relativo: 56 years ago

Fecha → Timestamp

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:

SistemaRepresentaciónNotas
Unix (segundos)1704067200Estándar C/POSIX
Unix (milisegundos)1704067200000JavaScript Date
Windows FILETIME133603488000000000100-ns intervalos desde 1601
OLE Automation45291.0Double desde 1900
NTP3866497216Segundos 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.