Conversor de timestamp Unix

Pega un número como 1700000000 para ver la fecha que representa, o elige una fecha para obtener su número. No hace falta que indiques si son segundos, milisegundos, microsegundos o nanosegundos. El tamaño del número lo delata.

Hora Unix ahora mismo, en segundos

…

Los resultados aparecen mientras escribes. Cada conversión la hace tu navegador: los valores que introduces no se nos envían.

Número a fecha

Fecha a número

Los campos de fecha y hora se leen en la zona horaria elegida arriba. Un texto que termina en Z o con un desfase como +02:00 conserva su propia zona.

Un número, el mismo instante en todas partes

Pregunta la hora a tres personas en una videollamada y quizá oigas las 9:00, las 15:00 y las 23:00. Todas tienen razón, lo cual no le sirve de nada a un ordenador que tiene que ordenar eventos, caducar una sesión o firmar un documento.

El tiempo Unix lo resuelve contando los segundos desde la medianoche UTC del 1 de enero de 1970, un punto de partida conocido como epoch. La cuenta llegó a 1 700 000 000 el 14 de noviembre de 2023 a las 22:13:20 UTC. Eran las 5:13 pm en Nueva York y ya era la mañana siguiente en Tokio, y todas las máquinas del planeta mostraban el mismo número.

Un timestamp no tiene zona horaria ni horario de verano. Las zonas solo entran cuando el número se convierte en algo que lee una persona. Por eso esta página te pregunta qué zona quieres y muestra UTC al lado.

Segundos, milisegundos y más allá

La cuenta original es en segundos. Muchos sistemas quieren pasos más finos, así que cuentan unidades menores desde el mismo epoch, y nada en el número dice qué unidad tienes delante. Hay que guiarse por su longitud:

UnidadDígitos hoyOrigen típico
Segundos10Herramientas Unix, time() de PHP, fechas de JWT, la mayoría de las API
Milisegundos13Date.now() de JavaScript, Java, Kafka
Microsegundos16PostgreSQL, time.time_ns() // 1000 de Python, registros de trazas
Nanosegundos19UnixNano() de Go, InfluxDB, OpenTelemetry

El conversor hace lo mismo: por debajo de 100 mil millones lee segundos, por debajo de 100 billones milisegundos, luego microsegundos y después nanosegundos. Te dice cuál supuso. La suposición solo falla con fechas cercanas a 1970 escritas en una unidad fina, y la lista “Unidad” te permite imponer la tuya.

Confundir las unidades es el error clásico con los timestamps. Si lees segundos como milisegundos, caes en enero de 1970. Si lees milisegundos como segundos, caes decenas de miles de años en el futuro.

Valores que merecen una segunda mirada

Cero, o un número muy pequeño
0 es el propio epoch. Es lo que contiene un campo de fecha vacío, y en las zonas al oeste de UTC aparece como el 31 de diciembre de 1969. Los valores a menos de un mes del epoch también se marcan, porque suelen ser duraciones o campos que nadie rellenó.
Números negativos
Son válidos y cuentan hacia atrás: -86400 es el 31 de diciembre de 1969. Algunos programas antiguos no pueden guardarlos.
2 147 483 648 y más
Un entero de 32 bits con signo se detiene en 2 147 483 647, que son las 03:14:07 UTC del 19 de enero de 2038. Un segundo después, un contador así da la vuelta y pasa a diciembre de 1901. Los sistemas que aún guardan el tiempo en 32 bits tienen hasta entonces para pasar a 64.
-1
A menudo es lo que devuelve una función que no pudo leer una fecha.

De una fecha de vuelta a un número

Ir en sentido contrario requiere un dato más, y es la zona en que se escribió la fecha. “9 de marzo de 2025 a las 14:30” es un instante en Chicago y otro distinto en Berlín, con seis horas de diferencia. Los campos de fecha y hora se leen en la zona que selecciones. Un texto como 2025-03-09T14:30:00-05:00, o uno que termina en Z, lleva su propio desfase y se lee tal como está escrito.

El horario de verano produce dos casos raros, y la herramienta indica ambos:

  • Una hora que no existe. Cuando los relojes saltan de las 02:00 a las 03:00, ese día no tiene las 02:30. El conversor traslada la lectura más allá del salto, como hace la mayoría del software, y lo indica.
  • Una hora que existe dos veces. Cuando los relojes retroceden de las 02:00 a las 01:00, las 01:30 ocurren dos veces, con una hora de diferencia. El conversor devuelve la primera y te da también la segunda.

El tiempo Unix ignora los segundos intercalares: cada día cuenta exactamente 86 400 segundos. La aritmética sigue siendo simple, pero un timestamp no es una cuenta real de segundos transcurridos. Desde 1972 se ha desviado en 27.

Las reglas de zona salen de la base de datos de zonas horarias integrada en tu navegador. Para fechas pasadas reflejan las reglas conocidas hoy, y un país todavía puede cambiar sus reglas para fechas futuras.

Preguntas frecuentes

¿Qué es un timestamp Unix?

El número de segundos desde el 1 de enero de 1970 a las 00:00:00 UTC, sin contar los segundos intercalares. Nombra un instante con un único entero que no depende de ninguna zona horaria, así que es fácil de guardar, comparar y restar.

¿Cómo sé si un timestamp está en segundos o en milisegundos?

Cuenta los dígitos. Para fechas actuales, los segundos tienen 10 dígitos y los milisegundos 13. Los microsegundos tienen 16 y los nanosegundos 19. Si tu fecha cae en 1970 o en un año muy lejano, la unidad se leyó mal.

¿Por qué mi fecha aparece como 1 de enero de 1970?

El valor guardado es 0 o está cerca. O el campo nunca se rellenó, o una conversión fallida devolvió 0, o un valor en segundos se leyó como milisegundos. Al oeste de UTC el mismo instante aparece como el 31 de diciembre de 1969.

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

El software que guarda el tiempo Unix en un entero de 32 bits con signo puede contar hasta 2 147 483 647, que son las 03:14:07 UTC del 19 de enero de 2038. El segundo siguiente desborda y se lee como una fecha de diciembre de 1901. La solución es guardar el tiempo en 64 bits.

¿Un timestamp Unix tiene zona horaria?

No. Cuenta segundos desde un instante definido en UTC, así que el mismo número es correcto en todas partes. La zona horaria solo se aplica cuando el número se muestra como una fecha de calendario y una hora de reloj.

¿Cómo obtengo el tiempo Unix actual en código?

En una shell, date +%s. En JavaScript, Math.floor(Date.now() / 1000). En Python, int(time.time()). En PHP, time(). En SQL, UNIX_TIMESTAMP() en MySQL y EXTRACT(EPOCH FROM now()) en PostgreSQL.