Cómo convertir marcas de tiempo Unix
Las marcas de tiempo Unix son la forma en que los ordenadores guardan e intercambian el tiempo — un único número que representa los segundos desde el 1 de enero de 1970. Aparecen en respuestas de API, registros de base de datos, archivos de log y tokens JWT. Cuando necesitas saber a qué fecha corresponde 1711824000, hace falta un convertidor.
Cómo se ve una marca de tiempo Unix
| Marca de tiempo | Tipo | Fecha legible |
|---|---|---|
| 0 | Segundos | 1 ene. 1970, 00:00:00 UTC |
| 1000000000 | Segundos | 9 sep. 2001, 01:46:40 UTC |
| 1711824000 | Segundos | 31 mar. 2024, 00:00:00 UTC |
| 1711824000000 | Milisegundos | 31 mar. 2024, 00:00:00 UTC |
La diferencia entre segundos y milisegundos son tres ceros adicionales. Un número de 10 cifras está en segundos; 13 cifras, en milisegundos.
Cómo convertir marcas de tiempo
- Introduce una marca de tiempo o una fecha — pega una marca de tiempo Unix para convertirla en fecha legible, o introduce una fecha para obtener la marca de tiempo.
- Verifica el formato — el convertidor detecta automáticamente segundos o milisegundos según la longitud del número.
- Lee el resultado — ve la fecha en tu zona horaria local, en UTC y en formato ISO 8601.
Dónde te encuentras con marcas de tiempo
- Respuestas de API — la mayoría de las API REST devuelven las fechas como marcas de tiempo Unix:
"created_at": 1711824000 - Tokens JWT — las reclamaciones
iat(issued at) yexp(expiration) son marcas de tiempo Unix - Registros de base de datos — muchas bases guardan las marcas de tiempo como enteros para un ordenamiento y una comparación eficaces
- Archivos de log — los logs de servidores prefijan a menudo las entradas con marcas de tiempo epoch
- Tareas cron — los sistemas de planificación referencian el tiempo en formato Unix
Marcas de tiempo en código
Conversión rápida en los lenguajes habituales:
JavaScript: new Date(1711824000 * 1000) (JS usa milisegundos)
Python: datetime.fromtimestamp(1711824000)
Hora actual: Date.now() (JS), time.time() (Python)
Consejos
- Multiplica por 1000 para JavaScript — el objeto
Datede JS espera milisegundos, pero la mayoría de las API devuelven segundos. Olvidar multiplicar es el error de timestamp más frecuente. - Especifica siempre UTC — al convertir, sé explícito sobre la zona. «31 de marzo a medianoche» es una marca de tiempo distinta según sea UTC, EST o PST.
- Usa ISO 8601 para mostrar — una vez convertidas, formatea las fechas como
2024-03-31T00:00:00Zpara una comunicación no ambigua entre zonas horarias. - Guarda el convertidor en favoritos — si trabajas con API o bases de datos, convertirás con la frecuencia suficiente para querer tener la herramienta a un clic.
Preguntas frecuentes
¿Qué es el tiempo Unix epoch?
El tiempo Unix epoch (también llamado tiempo POSIX o marca de tiempo Unix) es el número de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC. Es la forma estándar en que los ordenadores representan el tiempo internamente.
¿Cuál es la diferencia entre marcas de tiempo en segundos y en milisegundos?
Las marcas de tiempo Unix en segundos tienen 10 cifras (p. ej. 1711824000). Las marcas de tiempo en milisegundos tienen 13 cifras (p. ej. 1711824000000). JavaScript usa milisegundos, la mayoría de las API y bases usan segundos. El convertidor detecta automáticamente según la longitud.
¿Por qué mi hora convertida está desplazada varias horas?
Las marcas de tiempo siempre están en UTC. El convertidor muestra tanto UTC como tu hora local. Si el resultado no coincide con lo que esperabas, probablemente estás comparando una salida UTC con una hora local, o al revés.
¿Qué ocurre en 2038?
Los sistemas que guardan las marcas de tiempo Unix en entero con signo de 32 bits desbordarán el 19 de enero de 2038. La mayoría de los sistemas modernos usan enteros de 64 bits, lo que extiende el rango mucho más allá de cualquier preocupación práctica.