Conversor de Timestamps Unix
Pegá cualquier timestamp Unix/epoch — segundos o milisegundos — y obtené la fecha y hora
en UTC y local. Funciona con el campo _ts de Cosmos DB,
Date.now() de JavaScript, timestamps de bases de datos, líneas de log,
cualquier cosa numérica.
Timestamp → Fecha
Ingresá un timestamp arriba.
Fecha → Timestamp
Elegí una fecha arriba.
Formatos de Timestamp Comunes
| Formato | Dígitos (ahora) | Se ve en |
|---|---|---|
| Segundos Unix | 10 | El _ts de Cosmos DB, la mayoría de sistemas Unix/Linux, time.time() de Python |
| Milisegundos Unix | 13 | Date.now() de JavaScript, System.currentTimeMillis() de Java |
| Ticks de .NET | 18 | DateTime.Ticks de C# — intervalos de 100ns desde 0001-01-01 (no 1970) |
Para obtener ticks de .NET a partir de un valor en segundos Unix: (segundosUnix + 62135596800) × 10.000.000.
Cómo Funcionan los Timestamps Unix
Un timestamp Unix (o "epoch") es un conteo de segundos transcurridos desde la medianoche UTC del 1 de enero de 1970 — timestamp 0. Es solo un número, sin ninguna zona horaria asociada; la zona horaria entra en juego recién cuando ese número se convierte en una fecha legible, que es exactamente lo que hace el conversor de arriba usando la zona horaria detectada de tu navegador. Eso también significa que el mismo timestamp siempre representa el mismo instante exacto en cualquier parte del mundo, aunque la fecha y hora que se muestra difiera según la ubicación — gran parte de por qué las bases de datos, APIs y archivos de log guardan la hora así en vez de una cadena de fecha local.
La precisión varía según la plataforma: el campo _ts de Cosmos DB y la
mayoría de las herramientas Unix/Linux cuentan segundos enteros, mientras que
Date.now() de JavaScript y System.currentTimeMillis() de Java
cuentan milisegundos para mayor resolución — esa es la diferencia entre un número de 10
y uno de 13 dígitos hoy. Los sistemas más antiguos que guardan el valor como un entero
con signo de 32 bits se topan con el "problema del año 2038": se desbordan a las
03:14:07 UTC del 19 de enero de 2038, después de lo cual el conteo da la vuelta a un
número negativo y se interpreta erróneamente como una fecha de 1901. Los sistemas
modernos de 64 bits no tienen ese límite.
Preguntas Frecuentes
¿Qué es el epoch de Unix?
El epoch de Unix es la medianoche UTC del 1 de enero de 1970 — timestamp 0. Un
timestamp Unix es la cantidad de segundos (o milisegundos, según el sistema)
transcurridos desde ese momento. Las fechas anteriores a 1970 se representan como
números negativos.
¿Un timestamp Unix incluye una zona horaria?
No. Es un único número de segundos desde el epoch en UTC, sin ninguna zona horaria
asociada. Cualquier zona horaria que veas se aplica solo cuando el número se convierte a
una fecha legible — el timestamp subyacente nunca cambia, solo cambia su representación
mostrada.
¿Qué es el problema del año 2038?
Los sistemas que guardan la hora Unix como un entero con signo de 32 bits solo pueden
contar hasta 2.147.483.647 segundos después del epoch, lo que se agota a las 03:14:07
UTC del 19 de enero de 2038. Después de eso el valor se desborda y da la vuelta a un
número negativo, interpretado erróneamente como una fecha de 1901. Los sistemas
modernos de 64 bits no se ven afectados — el riesgo se limita al software heredado de 32
bits.
¿Por qué algunos sistemas usan segundos y otros milisegundos?
Es la convención propia de cada plataforma. Las herramientas Unix/Linux,
time.time() de Python, y el _ts de Cosmos DB usan segundos
enteros (10 dígitos hoy). Date.now() de JavaScript y
System.currentTimeMillis() de Java usan milisegundos (13 dígitos hoy) para
mayor precisión. La opción de auto-detección de arriba lee la cantidad de dígitos para
determinar cuál pegaste.