Conversor Timestamp
Convierte entre Unix timestamps y fechas
Timestamp actual
1772411738
Timestamp → Fecha
Fecha → Timestamp
Conversor de Timestamp Unix a Fecha Online - Epoch Time
¿Qué es Unix Timestamp (Epoch Time) y cómo funciona?
Unix Timestamp, también conocido como Epoch Time, POSIX Time, o tiempo Unix, es un sistema para representar fechas y horas como un único número entero: la cantidad de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC (conocido como "Unix Epoch" o "época Unix"). Este formato es universalmente usado en programación porque: es completamente independiente de zonas horarias (siempre es UTC), es fácil de almacenar como un simple número entero, permite comparaciones y cálculos de diferencias temporales triviales, y es portable entre cualquier sistema operativo, lenguaje de programación y base de datos.
¿Cómo manejan los timestamps los diferentes lenguajes de programación?
Cada lenguaje tiene sus convenciones para timestamps: JavaScript usa milisegundos (Date.now() retorna milisegundos desde epoch), lo que puede causar confusión con otros sistemas. Python tiene time.time() que retorna segundos con decimales para precisión de microsegundos. PHP usa time() para segundos enteros y microtime() para microsegundos. Java/Kotlin usan System.currentTimeMillis() (milisegundos) o Instant.now(). Bases de datos: MySQL tiene UNIX_TIMESTAMP() y FROM_UNIXTIME(), PostgreSQL tiene EXTRACT(EPOCH FROM timestamp). Esta herramienta detecta automáticamente si tu timestamp está en segundos o milisegundos y convierte apropiadamente.
¿Cómo manejar zonas horarias correctamente con timestamps?
Los timestamps Unix son siempre UTC por definición, eliminando ambigüedades de zonas horarias en almacenamiento y transmisión. La regla de oro es: almacena siempre en UTC (timestamp o datetime UTC), transmite siempre en UTC (APIs deben usar ISO 8601 con Z o +00:00), y convierte a zona horaria local solo para visualización al usuario final. Evita almacenar en zona horaria local ya que causa errores con cambios de horario de verano. Esta herramienta muestra la conversión tanto en hora local de tu navegador como en UTC para referencia clara.
Preguntas frecuentes
¿Qué es el problema del año 2038 (Y2K38) y me afecta?
Los sistemas de 32 bits almacenan timestamps como enteros con signo de 32 bits, que tienen un valor máximo de 2,147,483,647. Este número corresponde al 19 de enero de 2038 a las 03:14:07 UTC, momento en que el contador "desbordará" y se reiniciará causando fechas incorrectas o crashes. Sistemas modernos (desde ~2010) usan enteros de 64 bits, extendiendo el rango a 292 mil millones de años. Si desarrollas para sistemas embebidos, IoT, o legacy de 32 bits, verifica que uses timestamps de 64 bits. Para sistemas web modernos, generalmente no es preocupación.
¿Por qué mi timestamp tiene 13 dígitos en lugar de 10?
Los timestamps de 10 dígitos representan segundos desde Unix epoch (formato tradicional). Los de 13 dígitos representan milisegundos (formato JavaScript y muchas APIs modernas). La diferencia es factor 1000. Ejemplos: 1704067200 (10 dígitos, segundos) = 1704067200000 (13 dígitos, milisegundos) = 1 enero 2024 00:00:00 UTC. Esta herramienta detecta automáticamente el formato basándose en la cantidad de dígitos y convierte apropiadamente sin necesidad de selección manual.
¿Cómo obtengo el timestamp actual en JavaScript?
JavaScript trabaja nativamente en milisegundos. Para timestamp actual: Date.now() retorna milisegundos, Math.floor(Date.now() / 1000) retorna segundos. Para una fecha específica: new Date("2024-01-15T12:00:00Z").getTime() retorna milisegundos, divide por 1000 para segundos. Para crear Date desde timestamp: new Date(timestampEnMilisegundos) o new Date(timestampEnSegundos * 1000). Siempre sé explícito sobre si trabajas con segundos o milisegundos para evitar bugs sutiles.