Mcatorce Suite
← Volver al blog

Qué es un timestamp Unix y cómo convertirlo a fecha

El tiempo Unix, por qué las APIs lo usan, la diferencia entre segundos y milisegundos, y cómo convertir en ambos sentidos.

Prueba la herramienta: Conversor de Timestamp

Un timestamp Unix (o tiempo Unix, o epoch time) es el número de segundos transcurridos desde la medianoche del 1 de enero de 1970 en UTC. Es la forma más común de guardar y transmitir fechas entre sistemas, porque es un simple número entero: no depende del idioma, del formato regional ni de la zona horaria.

Por qué las APIs y las bases de datos lo prefieren

Guardar 1700000000 en lugar de "14 de noviembre de 2023, 23:13 CET" tiene ventajas claras:

  • No hay ambigüedad. 03/04/2026 puede ser el 3 de abril o el 4 de marzo según el país. Un número entero no.
  • Es fácil de comparar y ordenar. Saber cuál de dos fechas es anterior es una simple comparación numérica.
  • La aritmética es trivial. Sumar un día son 86 400 segundos; calcular la diferencia entre dos instantes es una resta.
  • Ocupa poco. Un entero frente a una cadena con formato.

La conversión a un formato legible se hace en el último momento, normalmente en la interfaz, usando la zona horaria del usuario.

Segundos frente a milisegundos

Aquí está el error más frecuente. El tiempo Unix "clásico" se mide en segundos, pero JavaScript (Date.now()) y muchas APIs modernas lo devuelven en milisegundos. La diferencia es un factor de 1000:

  • 1700000000 segundos → 14 de noviembre de 2023
  • 1700000000000 milisegundos → la misma fecha
  • Si tratas milisegundos como segundos, obtendrás una fecha del año 55000; al revés, una de 1970.

Una pista rápida: un timestamp en segundos para una fecha actual tiene 10 dígitos; en milisegundos, 13.

Cómo convertir en ambos sentidos

El conversor de timestamp de Mcatorce Suite convierte en las dos direcciones y muestra un reloj en vivo con el valor actual:

  • Introduce un número y obtén la fecha en hora local, en UTC, en formato ISO 8601 y como tiempo relativo ("hace 3 horas").
  • Introduce una fecha y obtén su timestamp en segundos y en milisegundos.
  • Detecta automáticamente si el número que pegas parece estar en segundos o en milisegundos.

Todo se calcula en el navegador, sin llamadas a ningún servidor.

Detalles que conviene tener en cuenta

  • UTC frente a hora local. Un timestamp siempre representa un instante en UTC. La fecha "legible" cambia según la zona horaria en la que la muestres; el número no.
  • El problema del año 2038. Los sistemas que guardan el tiempo Unix en un entero de 32 bits con signo se desbordarán en enero de 2038. Los sistemas modernos usan 64 bits y no tienen ese problema.
  • Segundos intercalados. El tiempo Unix ignora los segundos intercalados, lo que simplifica la aritmética a costa de no ser un recuento exacto de segundos SI transcurridos.

Preguntas frecuentes

¿El timestamp 0 es una fecha válida? Sí: es el 1 de enero de 1970 a las 00:00:00 UTC, conocido como "the epoch".

¿Puedo tener timestamps negativos? Sí, representan fechas anteriores a 1970. No todas las bibliotecas los manejan bien.

¿Por qué mi fecha aparece con unas horas de diferencia? Casi siempre es una confusión entre UTC y hora local. Comprueba en qué zona horaria estás interpretando el número.