Conversor de Timestamp Unix

Convierte timestamps Unix a fechas y viceversa al instante

Marca de tiempo Unix actual
0

Timestamp → Fecha

Fecha → Timestamp

Acerca de Conversor de Timestamp Unix

Una marca de tiempo Unix es el número de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC. Aparece en registros de servidor, columnas de bases de datos y campos de API como created_at, siempre como un entero del tipo 1789000000. Este conversor pasa ese número a una fecha legible y una fecha de vuelta al número.

El número no lleva zona horaria. 1790035200 son las 00:00 UTC del 22 de septiembre de 2026, las 2:00 en Madrid (horario de verano, UTC+2), las 19:00 del día anterior en Ciudad de México y las 9:00 en Seúl o Tokio. Casi todos los errores con marcas de tiempo vienen de dos sitios: la unidad (segundos o milisegundos) y la zona con la que se muestra.

Diez dígitos o trece: segundos frente a milisegundos

El tiempo Unix clásico va en segundos, pero Date.now() en JavaScript y System.currentTimeMillis() en Java devuelven milisegundos. El mismo instante aparece como 1789000000 en una tabla de PostgreSQL y como 1789000000000 en un log del navegador. Si lees milisegundos como segundos, sale una fecha hacia el año 58.000; si lees segundos como milisegundos, caes en el 21 de enero de 1970. Cuando una conversión da algo cercano a 1970 o absurdamente lejano, revisa primero la unidad.

La herramienta deduce la unidad del número de dígitos de la parte entera. Hoy una marca tiene 10 dígitos en segundos, 13 en milisegundos, 16 en microsegundos y 19 en nanosegundos, así que hasta 11 dígitos se lee como segundos, de 12 a 14 como milisegundos, de 15 a 17 como microsegundos y 18 o 19 como nanosegundos. El conversor ISO 8601 usa la misma regla. Las marcas en segundos pasaron a tener 10 dígitos con 1000000000 (9 de septiembre de 2001) y seguirán así hasta el año 2286, de modo que la regla funciona con los valores actuales. Un valor con decimales, como 1789000000.5, se lee en segundos y el resultado se muestra truncado al segundo.

Hay sistemas con otras unidades: time.time() de Python da segundos con decimales, y Go o muchas herramientas de trazas usan nanosegundos (19 dígitos). Puedes pegar tal cual un valor en nanosegundos o microsegundos: la herramienta lo detecta y lo pasa a milisegundos.

El problema del año 2038, con números

El mayor entero con signo de 32 bits es 2^31 − 1 = 2147483647. Convertido, da 2038-01-19T03:14:07Z. Un segundo después, un contador de 32 bits se desborda a −2147483648, que corresponde al 13 de diciembre de 1901. Ese es todo el problema del 2038.

Los sistemas operativos y lenguajes actuales de 64 bits usan un time_t de 64 bits y no tienen el problema. El riesgo está en dispositivos embebidos antiguos, formatos de archivo con campos de fecha de 4 bytes y columnas de base de datos declaradas como enteros de 32 bits; el tipo TIMESTAMP de MySQL, por ejemplo, tiene como límite documentado 2038-01-19 03:14:07 UTC. Cualquier sistema que guarde fechas futuras, como el cuadro de amortización de una hipoteca a 20 años, ya está cruzando ese límite hoy.

El tiempo Unix no cuenta los segundos intercalares

POSIX define los «segundos desde la Época» tratando cada día como exactamente 86.400 segundos. Desde 1972 se han añadido 27 segundos intercalares a UTC y ninguno se cuenta. El último, 2016-12-31T23:59:60Z, no tiene marca de tiempo Unix: unos sistemas repitieron un segundo y otros lo «difuminaron» (leap smear) repartiéndolo entre las horas cercanas.

En consecuencia, restar dos marcas de tiempo da un intervalo que puede diferir hasta 27 segundos del tiempo SI real en periodos largos. Para registros o facturación da igual; en navegación por satélite o física se usa TAI o tiempo GPS. La Conferencia General de Pesas y Medidas acordó en 2022 dejar de añadir segundos intercalares antes de 2035. Esta herramienta, como JavaScript, no acepta 23:59:60 como entrada.

Mostrar la hora en otras zonas

El campo de fecha y hora se interpreta con la zona horaria de tu ordenador, la que informa el navegador. Si estás en Madrid y quieres la marca de las 9:00 de Tokio, no escribas 09:00 aquí: convierte antes a UTC o usa el conversor ISO 8601, donde puedes añadir un desfase explícito como +09:00.

España peninsular está en UTC+1 en invierno y UTC+2 en verano; Canarias, una hora menos. México eliminó el horario de verano en la mayor parte del país en 2022, y Corea (KST) y Japón (JST) están en UTC+9 todo el año. Por eso la diferencia entre Madrid y Seúl es de 7 horas en verano y 8 en invierno. Un informe diario cortado a medianoche UTC parte la jornada española a la 1:00 o las 2:00 de la madrugada.

Ejemplos

El mismo instante en dos unidades

Entrada
1789000000 y 1789000000000
Resultado
Ambos 2026-09-10T00:26:40.000Z (detectados como segundos y milisegundos)

En Madrid son las 2:26:40 del 10 de septiembre (CEST, UTC+2).

El borde de 2038

Entrada
2147483647 / 2147483648
Resultado
2038-01-19T03:14:07.000Z / 2038-01-19T03:14:08.000Z

El navegador calcula en coma flotante de 64 bits, así que el segundo valor sale bien. Un time_t de 32 bits lo llevaría a 1901.

Las 9:00 en Tokio

Entrada
Fecha y hora 2026-09-22 09:00 en un equipo con zona Asia/Tokyo
Resultado
1790035200

Equivale a 2026-09-22T00:00:00Z, las 2:00 en Madrid.

Antes de la Época

Entrada
-1
Resultado
1969-12-31T23:59:59.000Z

Las fechas anteriores a 1970 son negativas; aparecen, por ejemplo, en fechas de nacimiento guardadas como marca de tiempo.

Cómo se usa

  1. Pega una marca de tiempo; se detecta la unidad y aparecen la hora UTC, la local y la relativa.
  2. Para el sentido inverso, elige fecha y hora y obtendrás segundos y milisegundos.
  3. El botón «Ahora» carga la marca de tiempo actual.

Preguntas frecuentes

¿Por qué mi marca de tiempo sale en enero de 1970?

Probablemente un valor en segundos se trató como milisegundos, o faltan dígitos. Una marca actual en segundos tiene 10 dígitos.

¿La marca de tiempo incluye la zona horaria?

No. Siempre son segundos desde la Época en UTC; la zona solo importa al mostrarla.

¿Puedo convertir un número de fecha de Excel, como 46287?

No. Excel cuenta días desde 1900, un sistema distinto. Aquí se convertiría en un instante de enero de 1970.

¿Funcionan las fechas posteriores a 2038?

Sí. Las fechas de JavaScript cubren unos ±273.000 años. Lo que importa es que el sistema que recibe el valor lo guarde en 64 bits.

¿Qué precisión tiene «hace 3 meses»?

Es aproximado: supone meses de 30 días y años de 365 y redondea.

Fuentes

Revisado el:

Privacidad y tratamiento de datos