Cómo convertir un timestamp Unix a fecha
Qué es un timestamp Unix, cómo saber si está en segundos o milisegundos (10 o 13 cifras) y cómo pasarlo a fecha en Excel, Google Sheets, JavaScript y Python. Ejemplo: 1784636109303 es el 21 de julio de 2026.
La respuesta corta
Un timestamp Unix es el número de segundos que han pasado desde el 1 de enero de 1970 a las 00:00:00 UTC. Para pasarlo a fecha:
- Si tiene 10 cifras, está en segundos (1700000000 = 14-nov-2023 22:13:20 UTC).
- Si tiene 13 cifras, está en milisegundos: divide entre 1000 primero.
El conversor de timestamp de Toolram detecta solo si son segundos o milisegundos y te da la fecha en tu hora local, en UTC y en ISO 8601.
Ejemplo: 1784636109303
Tiene 13 cifras, así que son milisegundos (es lo que devuelve Date.now() en JavaScript). Dividido entre 1000: 1784636109.303 segundos.
- UTC: 21 de julio de 2026, 12:15:09.
- Ciudad de México (UTC−6): 21 de julio de 2026, 06:15:09.
Si lo tratas como segundos sin dividir, sale una fecha del año 58.000, que es la señal típica de este error.
En Excel y Google Sheets
Excel guarda las fechas como días desde 1900, así que hay que convertir:
- Segundos: =A2/86400+FECHA(1970,1,1)
- Milisegundos: =A2/86400000+FECHA(1970,1,1)
Luego da formato de fecha y hora a la celda. En el Excel de España el separador es punto y coma: FECHA(1970;1;1). En Excel o Sheets en inglés la función es DATE(1970,1,1). El resultado sale en UTC: para la hora de México resta 6/24.
En JavaScript y Python
JavaScript trabaja en milisegundos:
new Date(1784636109303).toISOString() // "2026-07-21T12:15:09.303Z"
new Date(1700000000 * 1000) // si viene en segundosPython trabaja en segundos:
from datetime import datetime, timezone
datetime.fromtimestamp(1784636109303 / 1000, tz=timezone.utc)El problema del año 2038
Los sistemas que guardan el timestamp como entero de 32 bits con signo llegan a su máximo en 2147483647, que es el 19 de enero de 2038 a las 03:14:07 UTC. Un segundo después, el número se desborda y vuelve a 1901. Los sistemas actuales de 64 bits no tienen ese límite, pero todavía hay bases de datos, firmware y código viejo con campos de 32 bits.
Segundos, milisegundos y microsegundos
| Cifras | Unidad | Quién lo usa |
|---|---|---|
| 10 | segundos | Unix, PHP time(), Python time.time() entero, muchas APIs |
| 13 | milisegundos | JavaScript Date.now(), Java System.currentTimeMillis() |
| 16 | microsegundos | Algunas bases de datos y logs |
Si no sabes qué te pasaron, cuenta las cifras: es la forma más rápida de no equivocarte.
Preguntas frecuentes
¿Cómo sé si un timestamp está en segundos o en milisegundos?
Cuenta las cifras. Un timestamp actual en segundos tiene 10 cifras y en milisegundos tiene 13.
¿Qué fecha es el timestamp 1784636109303?
Está en milisegundos y corresponde al 21 de julio de 2026 a las 12:15:09 UTC (06:15:09 en Ciudad de México).
¿Cómo convierto un timestamp a fecha en Excel?
Si está en segundos: =A2/86400+FECHA(1970,1,1). Si está en milisegundos: =A2/86400000+FECHA(1970,1,1) (en Excel de España, con punto y coma). Después aplica formato de fecha y hora; el resultado está en UTC.
¿Qué pasa en 2038 con el timestamp Unix?
Los sistemas que lo guardan en 32 bits con signo llegan al máximo, 2147483647, el 19 de enero de 2038 a las 03:14:07 UTC, y se desbordan.