Todas las guías

Convertir un timestamp Unix en fecha, y una fecha en timestamp

Publicado el · Actualizado el 3 min de lectura

Un timestamp Unix es un número que cuenta el tiempo transcurrido desde el 1 de enero de 1970 a medianoche, en tiempo universal. Se encuentra en bases de datos, registros de programas e interfaces de sitios. Dos preguntas deciden la fecha obtenida: la unidad del número y el huso horario en el que se lee el resultado.

Un valor de referencia

Convertir timestamp Unix da tres lecturas de un mismo instante. Para 1700000000, con un navegador configurado en la hora de París:

LecturaResultado
Fecha UTCTue, 14 Nov 2023 22:13:20 GMT
Fecha local14 de noviembre de 2023, 23:13:20 UTC+1
ISO2023-11-14T22:13:20.000Z

La hora local sigue el huso horario del navegador: una hora más en París en invierno. El mismo timestamp es un único instante, leído en dos husos horarios.

La unidad se reconoce por el número de cifras

El ajuste por defecto reconoce la unidad según la longitud del número. Los tres valores siguientes designan el mismo instante, salvo la precisión.

NúmeroCifrasUnidad reconocidaInstante obtenido
170000000010Segundos14 nov. 2023, 22:13:20 UTC
170000000000013Milisegundos14 nov. 2023, 22:13:20 UTC
170000000012345616Microsegundos14 nov. 2023, 22:13:20,123 UTC

La regla: hasta 11 cifras, segundos; de 12 a 14, milisegundos; 15 y 16, microsegundos. El ajuste «milisegundos» fuerza esa unidad.

La trampa de la regla

Como la unidad se deduce de la longitud, un valor ambiguo se lee de una sola manera: 10000000000 (11 cifras) da el 20 de noviembre de 2286 y 100000000000 (12 cifras) el 3 de marzo de 1973. Un timestamp en milisegundos anterior a marzo de 1973 tiene 11 cifras o menos y se leería como segundos: fuerce entonces el ajuste «milisegundos».

Los valores anteriores a 1970 y el límite de 2038

Un número negativo designa un instante anterior a 1970: −1 da el 31 de diciembre de 1969 a las 23:59:59 UTC y 0 el 1 de enero de 1970 a medianoche.

El número 2147483647 es el mayor que cabe en un entero con signo de 32 bits: da el 19 de enero de 2038 a las 03:14:07 UTC. El número siguiente, 2147483648, da las 03:14:08. La herramienta continúa sin límite, pero un sistema que guarda el tiempo en 32 bits no puede: es el «error del año 2038».

Convertir una fecha en timestamp

Introduzca una fecha en lugar de un número: la herramienta da el timestamp en segundos y en milisegundos.

EntradaTimestamp en segundosLectura
2026-01-011767225600Medianoche en tiempo universal, sin huso horario indicado
2026-01-01T10:30:00+01:00176725980010:30 en París, es decir, 09:30 en tiempo universal
2024-02-291709164800Año bisiesto aceptado

Una fecha sin huso horario se lee en tiempo universal, no en hora local: la herramienta lo recuerda en el resultado. Una fecha que no existe, como el 30 de febrero de 2026, se rechaza con un mensaje.

Los errores habituales

  • Leer milisegundos como segundos: la fecha cae a miles de años de distancia.
  • Olvidar el huso horario: una fecha leída como local y enviada después como universal se desplaza una o varias horas.
  • Escribir una fecha sin huso horario pensando en la hora local, cuando se leerá en tiempo universal.

Para contar los días entre dos fechas, consulte Contar los días entre dos fechas.

Para qué casos

Un registro de programa, una base de datos, una respuesta de un servicio en línea o un archivo exportado: el número se lee mal, la fecha se lee enseguida.

Comprobar una conversión

  1. Vuelva a leer la línea UTC, que no depende de su dispositivo.
  2. Compruebe la unidad anunciada en la primera línea del resultado.
  3. Vuelva a convertir la fecha obtenida: debe encontrar el número de partida.

Convertir timestamp Unix

Preguntas frecuentes

¿Qué es un timestamp Unix?
El número de segundos transcurridos desde el 1 de enero de 1970 a medianoche, en tiempo universal.
¿Cómo saber si un número está en segundos o en milisegundos?
La herramienta lo deduce del número de cifras: hasta 11 cifras, segundos; de 12 a 14, milisegundos; 15 y 16, microsegundos.
¿Qué pasa en 2038?
El número 2147483647, el mayor entero con signo de 32 bits, corresponde al 19 de enero de 2038. Un sistema que guarda el tiempo en 32 bits no puede ir más lejos.
¿Qué huso horario se usa para una fecha sin huso horario?
El tiempo universal, no la hora local. La herramienta lo recuerda en el resultado.