Saltar al contenido

Convertir timestamp Unix y fecha local

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 navegador
Convertidor de timestamps Unix
Timestamp Unix actual
Hora local del navegador

Timestamp a fecha y hora

Timestamp Unix
Hora local del navegador

Fecha y hora a timestamp

Hora local del navegador
Timestamp Unix

Referencia de conversión de timestamps Unix

Un 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.

Ejemplos de timestamps Unix por entorno
EntornoTimestamp actualConvertir el timestamp a fecha y hora UTC
JavaScriptMath.floor(Date.now() / 1000)new Date(timestamp * 1000).toISOString()
Pythonint(time.time())datetime.fromtimestamp(timestamp, timezone.utc)
PHPtime()(new DateTimeImmutable("@$timestamp"))->setTimezone(new DateTimeZone("UTC"))
JavaInstant.now().getEpochSecond()Instant.ofEpochSecond(timestamp)
Gotime.Now().Unix()time.Unix(timestamp, 0).UTC()
RubyTime.now.to_iTime.at(timestamp).utc
PostgreSQLSELECT EXTRACT(EPOCH FROM NOW())::bigint;SELECT TO_TIMESTAMP(timestamp) AT TIME ZONE 'UTC';
MySQLSELECT UNIX_TIMESTAMP();SELECT FROM_UNIXTIME(timestamp);

Cómo convertir timestamps Unix

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.

  1. Lee el timestamp actual en el reloj en vivo o pulsa Detener para congelarlo en el valor que quieras conservar.
  2. Pega un timestamp en el campo «Unix timestamp» y pulsa Convertir a fecha para ver la fecha y hora local correspondiente.
  3. Escribe una fecha local con el formato YYYY-MM-DD HH:mm:ss y pulsa Convertir a timestamp para obtener los segundos.
  4. Pulsa Actualizar para reiniciar el reloj y copia el valor que necesites en tu consulta, log o script.
  5. Si el valor tiene 13 dígitos, normalmente está en milisegundos: divídelo entre 1000 antes de convertirlo.

La hora Unix en detalle

Cómo funciona realmente la época

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.

Segundos, milisegundos y microsegundos

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.

Zonas horarias, cambio de hora y el problema de 2038

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.

Preguntas sobre la hora Unix

¿Por qué la hora convertida se desvía unas horas?

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.

¿Por qué mi timestamp tiene trece dígitos?

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.

¿Cómo obtengo el timestamp actual en código?

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).

¿Qué es el problema de 2038?

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í.

¿La hora Unix cuenta los segundos intercalares?

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.

¿Cuándo conviene usar una fecha ISO 8601?

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.

Herramientas recientes: