¿Qué es un timestamp Unix?
Un timestamp Unix (también conocido como tiempo de época, epoch time o tiempo POSIX) es la cantidad de segundos transcurridos desde las 00:00:00 UTC del 1 de enero de 1970, sin contar los segundos intercalares. Es la forma universal con la que los ordenadores almacenan un instante de tiempo, con independencia de las zonas horarias y del formato del calendario. Esta calculadora toma un timestamp en milisegundos (la unidad que devuelven la mayoría de los lenguajes de programación, por ejemplo el Date.now() de JavaScript) y lo convierte en segundos, minutos y días desde la época.
Cómo usarla
Introduce tu tiempo Unix en milisegundos en el campo y pulsa enviar. La herramienta realiza una división entera entre 1000 para darte los segundos Unix completos: el formato más habitual en bases de datos, APIs y en el comando date +%s de Linux. La tabla de resultados también muestra el valor original en milisegundos, además de los minutos y los días transcurridos, ideales para una comprobación rápida.
La fórmula explicada
La conversión principal es \( \text{Seconds} = \left\lfloor \frac{\text{Time (ms)}}{1000} \right\rfloor \). Dividir entre 1000 transforma los milisegundos en segundos, y la función floor (redondeo hacia abajo) elimina la parte fraccionaria para que obtengas un timestamp con segundos enteros. Los minutos usan \( \left\lfloor \frac{M}{60000} \right\rfloor \) y los días \( \left\lfloor \frac{M}{86400000} \right\rfloor \), ya que un día tiene 86 400 segundos = 86 400 000 ms.
Ejemplo resuelto
Supongamos que \( \text{now\_ms} = 1\,700\,000\,000\,000 \). Entonces $$\text{epoch\_s} = \left\lfloor \frac{1\,700\,000\,000\,000}{1000} \right\rfloor = 1\,700\,000\,000 \text{ segundos},$$ lo que corresponde al 14 de noviembre de 2023. Los minutos desde la época \( = \left\lfloor \frac{1\,700\,000\,000\,000}{60000} \right\rfloor = 28\,333\,333 \), y los días \( = \left\lfloor \frac{1\,700\,000\,000\,000}{86\,400\,000} \right\rfloor = 19\,675 \).
Preguntas frecuentes
¿Por qué se usan segundos y no milisegundos en todas partes? Los sistemas más antiguos y muchas APIs (Unix, Postgres, los claims exp de JWT) almacenan segundos, mientras que los navegadores y Java utilizan milisegundos. Convertir entre ambas unidades es tan sencillo como multiplicar o dividir por 1000.
¿Y los segundos intercalares? El tiempo Unix ignora los segundos intercalares, por lo que el conteo es una medida lineal y limpia: cómoda para hacer cálculos, pero no perfectamente alineada con el UTC astronómico.
¿Fallará en 2038? Los sistemas que almacenan el conteo de segundos en un entero con signo de 32 bits sufrirán un desbordamiento el 19 de enero de 2038. Los sistemas modernos de 64 bits no se ven afectados.