Timestamp Converter

Convierte timestamps Unix a fechas legibles y viceversa.

Introduce un timestamp Unix en segundos o milisegundos
Introduce una fecha en formato año-mes-día hora:minuto:segundo

¿Qué es un Timestamp Unix y cómo funciona?

Un timestamp Unix (también llamado Unix epoch time o POSIX time) es un número que representa la cantidad de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC, conocido como "Unix epoch". Este sistema fue adoptado por Unix y posteriormente por la mayoría de lenguajes de programación y sistemas operativos como forma estándar de representar fechas y horas.

La ventaja principal de los timestamps Unix es que son independientes de la zona horaria y el formato de fecha regional. Un timestamp representa el mismo instante exacto sin importar si estás en Madrid, Tokio o Nueva York. La conversión a fecha legible se realiza aplicando la zona horaria local del usuario.

Casos de uso prácticos

Bases de datos: Almacenar fechas como timestamps enteros es más eficiente que usar strings y facilita las comparaciones y ordenaciones. MySQL, PostgreSQL y MongoDB soportan timestamps nativamente.

APIs REST: La mayoría de APIs devuelven fechas en formato timestamp Unix (en segundos o milisegundos). Convertirlos a fechas legibles es esencial para mostrar información al usuario.

Logs y debugging: Los logs de servidores frecuentemente usan timestamps Unix. Convertirlos te permite correlacionar eventos entre diferentes sistemas y zonas horarias.

Caché y expiración: Los headers HTTP de caché (Cache-Control, Expires) y los tokens JWT usan timestamps Unix para indicar fechas de expiración.

Preguntas frecuentes

¿Cuál es la diferencia entre timestamp en segundos y milisegundos?

Unix originalmente usa segundos (10 dígitos, ej: 1700000000). JavaScript usa milisegundos (13 dígitos, ej: 1700000000000). Si tu timestamp tiene 13 dígitos, divídelo entre 1000 antes de convertirlo. Python usa segundos por defecto.

¿Qué es el problema del año 2038?

Los sistemas de 32 bits almacenan timestamps como enteros con signo de 32 bits, cuyo valor máximo es 2.147.483.647 (19 de enero de 2038). Después de esa fecha, el valor se desbordará. Los sistemas de 64 bits no tienen este problema.

¿Los timestamps incluyen zona horaria?

No. Un timestamp Unix siempre representa un instante absoluto en UTC. La zona horaria se aplica solo al convertirlo a una fecha legible. Por eso son ideales para sistemas distribuidos en múltiples zonas horarias.

¿Pueden los timestamps ser negativos?

Sí. Los timestamps negativos representan fechas anteriores al 1 de enero de 1970. Por ejemplo, -86400 representa el 31 de diciembre de 1969. La mayoría de sistemas modernos soportan timestamps negativos.

Timestamps en diferentes lenguajes

LenguajeObtener timestampUnidad
JavaScriptDate.now()Milisegundos
Pythontime.time()Segundos (float)
JavaSystem.currentTimeMillis()Milisegundos
Gotime.Now().Unix()Segundos