Convierte segundos desde el inicio de la época Unix a fecha y hora, o introduce una fecha local para obtener su timestamp. Se utiliza la zona horaria del navegador.
Se ejecuta localmente en tu navegadorUn timestamp Unix cuenta los segundos transcurridos desde 1970-01-01 00:00:00 UTC. Esta página interpreta la fecha y la hora introducidas en la zona horaria local del navegador.
Guarda los timestamps en UTC. Aplica una zona horaria IANA con sus reglas de horario de verano solo al mostrar el valor al usuario.
| Entorno | Timestamp actual | Convertir el timestamp a fecha y hora UTC |
|---|---|---|
| JavaScript | Math.floor(Date.now() / 1000) | new Date(timestamp * 1000).toISOString() |
| Python | int(time.time()) | datetime.fromtimestamp(timestamp, timezone.utc) |
| PHP | time() | (new DateTimeImmutable("@$timestamp"))->setTimezone(new DateTimeZone("UTC")) |
| Java | Instant.now().getEpochSecond() | Instant.ofEpochSecond(timestamp) |
| Go | time.Now().Unix() | time.Unix(timestamp, 0).UTC() |
| Ruby | Time.now.to_i | Time.at(timestamp).utc |
| PostgreSQL | SELECT EXTRACT(EPOCH FROM NOW())::bigint; | SELECT TO_TIMESTAMP(timestamp) AT TIME ZONE 'UTC'; |
| MySQL | SELECT UNIX_TIMESTAMP(); | SELECT FROM_UNIXTIME(timestamp); |
Esta página convierte segundos desde la época Unix en fecha y hora de tu zona horaria, y convierte una fecha local de vuelta a timestamp. Un reloj en vivo muestra el valor actual y puedes detenerlo para congelar una lectura.
Todas las conversiones usan la zona horaria que informa el navegador, así que el resultado coincide con el reloj de tu equipo y no con UTC. La conversión se ejecuta dentro de la página: nada de lo que escribes se envía a un servidor.
La hora Unix cuenta los segundos transcurridos desde 1970-01-01T00:00:00 UTC y omite los segundos intercalares, así que es un entero simple y no una estructura de calendario. Siempre está definida en UTC: por eso el mismo valor impreso en dos zonas muestra dos relojes distintos pero un único instante.
Como los segundos intercalares no se cuentan, la hora Unix no es un recuento exacto de segundos físicos, pero sí lo bastante consistente para que sistemas operativos, bases de datos y lenguajes la usen como formato de intercambio por defecto. De ahí los nombres epoch time y POSIX time.
El valor clásico está en segundos y tiene diez dígitos entre 2001 y 2286. JavaScript y Java usan milisegundos, con trece dígitos, y algunos sistemas guardan microsegundos o nanosegundos, con dieciséis o diecinueve. Un valor que parece del año 50000 casi siempre son milisegundos leídos como segundos.
Cuando envíes un timestamp a una API, comprueba la unidad en su documentación y vigila el desajuste típico: el cliente manda milisegundos y el servidor guarda segundos. El síntoma visible es una fecha décadas en el futuro, y esta página lo muestra en cuanto conviertes el valor.
Un timestamp no tiene zona horaria; una fecha sí. Dos servidores que escriben medianoche en su hora local escriben timestamps distintos, y por eso conviene guardar el instante y convertir solo al mostrar. Los cambios de hora hacen ambigua la conversión inversa: una hora local puede ocurrir dos veces (aquí se resuelve con el primer desplazamiento) o no existir (aquí se rechaza).
Los sistemas que guardan la hora Unix en un entero con signo de 32 bits se desbordan en enero de 2038, cuando el contador supera 2 147 483 647. Las plataformas de 64 bits no se ven afectadas, pero conviene revisar los sistemas embebidos y formatos antiguos que aún usan campos de 32 bits.
La conversión usa la zona horaria local del navegador, mientras tu servidor, tu log o tu base de datos probablemente escriben en UTC. Los dos lados muestran el mismo instante; solo cambia el desplazamiento. Compara los timestamps, no los relojes, para confirmarlo.
Porque está en milisegundos: JavaScript y Java los usan de forma nativa. Esta página espera segundos, así que divide entre 1000 antes de convertirlo; si no lo haces, el valor se interpreta como un año muy lejano.
En JavaScript, Math.floor(Date.now() / 1000); en PHP, time(); en Python, int(time.time()); en SQL, la función de tu motor (UNIX_TIMESTAMP() en MySQL, strftime('%s','now') en SQLite o PostgreSQL).
Los sistemas que almacenan la hora Unix en un entero con signo de 32 bits se desbordan el 2038-01-19 a las 03:14:08 UTC, cuando el contador supera 2 147 483 647. Las plataformas de 64 bits no se ven afectadas, pero los sistemas embebidos y los formatos con campos de 32 bits sí.
No. Cuenta 86 400 segundos por día y omite los segundos intercalares que se añaden a UTC de vez en cuando, así que no es un recuento exacto de segundos físicos, pero es el formato de intercambio estándar entre sistemas.
Cuando el valor debe ser legible o viajar con su desplazamiento, por ejemplo en un JSON o en un log: 2023-11-15T06:13:20+08:00 no deja dudas sobre la zona. Para aritmética, comparaciones y almacenamiento, el timestamp es más simple.