
Timestamp Unix: convertir un epoch y evitar errores de zona horaria
Convierte un epoch Unix en una fecha legible y al revés, distingue segundos de milisegundos y evita las trampas de zona horaria, JWT y cambio de hora.
Un epoch cuenta segundos y no lleva zona horaria
Un número como 1710000000 o 1710000000000 aparece en una línea de log, en la respuesta de una API, en un JWT o en una columna de base de datos. Cuenta el tiempo transcurrido desde el 1 de enero de 1970 a las 00:00:00 UTC, contado como segundos o como milisegundos. No lleva zona horaria. El conversor de timestamp Unix convierte un epoch en fecha y una fecha en epoch. Los campos vacíos siguen un reloj en vivo. Escribe un epoch, una fecha ISO o una fecha y hora locales, y los otros dos campos se actualizan. Una tabla muestra el epoch como segundos y como milisegundos, y además ISO 8601, RFC 2822, un datetime SQL, un texto en tu idioma y un tiempo relativo. Usa UTC o la zona horaria de tu navegador. La conversión se hace en la pestaña y no se envía nada. Esta guía lee un epoch cifra a cifra y luego muestra qué cambia una zona horaria y qué deja intacto. Trata los errores que más cuestan: segundos leídos como milisegundos, un JWT que nunca caduca, una fecha escrita sin zona y un cambio de hora. También da los límites de 2038 y de otros epochs, y las mismas conversiones en JavaScript, Python, una shell y Java. Las herramientas relacionadas están en el hub de utilidades para desarrolladores.
Para qué sirve el conversor y dónde termina
El conversor responde a dos preguntas: qué instante nombra este número y qué número nombra este instante.
El conversor lee un valor cada vez. El resto de la cadena se comprueba en otro sitio.
Leer un valor sin equivocarse
En modo Auto, la herramienta cuenta las cifras de la parte entera, sin el signo. Puedes pegar los ejemplos de abajo en el campo Epoch Unix.
El campo Epoch Unix acepta cifras, un signo menos opcional y un punto decimal.
Toma 1710000000. El epoch no cambia, solo cambia su lectura. Pon Zona horaria en Local para ver la línea de tu propia zona.
Escribe una fecha en el campo ISO / texto de fecha para obtener su epoch. El resultado depende de lo que hayas escrito tras la hora. Los valores de abajo se comprobaron en Node 26, que usa el mismo motor de JavaScript que Chrome. Otros navegadores pueden leer de otra forma las formas que no son ISO.
Cinco errores que solo se ven en producción
JavaScript cuenta en milisegundos, y la mayoría de los demás lenguajes y protocolos cuentan segundos. new Date(1710000000) da el 20 de enero de 1970 a las 19:00:00 UTC. En Python 3.14, datetime.fromtimestamp(1710000000000, tz=timezone.utc) se detiene con year must be in 1..9999, not 56157. Java separa los dos casos en Instant.ofEpochSecond y en Instant.ofEpochMilli, y nada te avisa si eliges el equivocado.
La RFC 7519 define exp, nbf y iat como segundos desde el epoch, sin contar los segundos intercalares. Un token firmado con exp puesto a Date.now() + 3600000 lleva milisegundos. Con la biblioteca jose en su versión 6, un token así firmado el 9 de marzo de 2024 seguía aceptándose cuando la fecha de comprobación era 2034. Su exp de 1710003600000, leído como segundos, vale +056157-11-09T08:00:00.000Z. El conversor oculta el error si dejas la unidad en Auto, porque lee 13 cifras como milisegundos y muestra una fecha normal.
El texto de una fecha sin desfase no nombra ningún instante hasta que se elige una zona. En Python, datetime(2024, 3, 9, 16, 0, 0).timestamp() en una máquina con zona París da 1709996400, no 1710000000. JavaScript lee 2024-03-09 como medianoche UTC, pero 2024-03-09T00:00:00 como medianoche en hora local: dos formas de escribir el mismo día difieren en el desfase de la máquina.
Europa vuelve al horario de invierno el domingo 25 de octubre de 2026, a las 01:00 UTC. En París, las 03:00 vuelven a ser las 02:00, así que las 02:30 ocurren dos veces: a las 00:30 UTC (1792888200) y a las 01:30 UTC (1792891800). Con el navegador en zona París, el campo Fecha/hora local toma la primera. El 29 de marzo de 2026 la hora de las 02:00 a las 03:00 no existe, y el campo responde que no puede interpretar las 02:30. El epoch elimina la duda, porque nombra un solo instante.
Un epoch es fácil de guardar y fácil de desbordar. Los límites de abajo vienen del ancho del tipo que lo contiene.
Unidades, límites y otros epochs de un vistazo
Lee la documentación del sistema que produjo el número antes de fiarte de sus cifras.
Estos valores se reconocen rápido una vez vistos, y puedes pegar cada uno en el conversor.
Algunos sistemas cuentan desde otro origen o en otra unidad. Si una fecha sale desplazada por décadas, busca uno de estos casos.
El conversor de timestamp Unix, paso a paso
El conversor de timestamp Unix se actualiza poco después de la última tecla. No hay botón Convertir.
Mirar el reloj en vivo
El bloque «Hora Unix actual» muestra el epoch como Segundos y como Milisegundos, cada uno con un botón Copiar. Pausar detiene el reloj y Reanudar lo vuelve a poner en marcha. Copiar ISO (UTC) toma la fecha del momento.
Escribir o pegar el epoch
Usa el campo Epoch Unix. Una insignia como «Inferido: segundos» indica cómo se leyeron las cifras. Puedes forzar Segundos o Milisegundos con la opción Unidad.
Leer la tabla Formatos
Lista el epoch como segundos y como milisegundos, ISO 8601, RFC 2822 y un datetime SQL. Añade una cadena local en el idioma de la página y un tiempo relativo. RFC 2822 usa los nombres de días y meses en inglés. La fila relativa cuenta un mes como 30 días y un año como 365, así que es una referencia aproximada.
Copiar la fila que necesitas
Cada fila tiene su propio botón Copiar. Un mensaje breve confirma lo que se copió.
Los tres campos se mantienen sincronizados. El que modificas manda sobre los demás.
ISO / texto de fecha
Escribe 2024-03-09T16:00:00Z para obtener el epoch. El campo Epoch Unix se rellena con segundos, o con milisegundos si la unidad está en Milisegundos.
Fecha/hora local
Usa este campo para introducir una fecha en tu reloj de pared. Nunca es UTC, aunque la tabla muestre UTC, y una ayuda bajo el campo lo dice.
Comprobar la zona que querías
Si el texto ISO no lleva Z ni desfase, el navegador aplica su propia zona. Añade el desfase cuando quieras que el resultado sea el mismo en todas las máquinas.
Dos ajustes cambian cómo la página lee y muestra un valor.
Unidad
Auto lee hasta 10 cifras como segundos y de 11 a 15 cifras como milisegundos. Segundos y Milisegundos fuerzan la lectura. Usa Segundos para los claims de un JWT.
Zona horaria
UTC es el valor por defecto. Local usa la zona de tu navegador y cambia las filas ISO, RFC 2822, SQL y cadena local. Las filas de epoch nunca cambian.
Cargar ejemplo y Borrar todo
Cargar ejemplo introduce 1710000000. Borrar todo vacía los campos y devuelve el reloj en vivo.
Cuando un valor no se puede leer, la herramienta dice por qué y no muestra ninguna fecha.
No se ha podido interpretar esta entrada
El texto no es un número ni una fecha que el navegador entienda. Reescribe la fecha en ISO 8601, por ejemplo 2024-03-09T16:00:00+00:00.
Este valor parece más preciso que milisegundos
El número tiene 16 cifras o más, como los microsegundos, los nanosegundos o un FILETIME. Quita primero las cifras que sobran.
Las mismas conversiones en JavaScript, Python, una shell y Java
JavaScript trabaja en milisegundos. Multiplica o divide entre 1000 en la frontera con los sistemas que usan segundos, y da una zona a Intl.DateTimeFormat cuando necesites una con nombre.
Ejemplo básico
Pasa una zona horaria en cada llamada. Un datetime ingenuo no tiene ninguna, y timestamp() usa entonces la zona de la máquina.
Ejemplo básico
Las versiones de GNU y de BSD de date, la primera en Linux y la segunda en macOS, no tienen las mismas opciones.
Ejemplo básico
La API java.time guarda la unidad en el nombre del método, y por eso una confusión se ve en una revisión de código.
Ejemplo básico
Conclusión
Un epoch nombra un solo instante, y casi todos los errores vienen de cómo se lee. Cuenta las cifras para distinguir segundos de milisegundos, escribe el desfase en cada fecha y deja la zona horaria para mostrar. El conversor de timestamp Unix muestra el mismo instante en los formatos que necesitas, en UTC o en tu propia zona. Lee un valor cada vez, no ofrece una lista de zonas y rechaza los valores de 16 cifras o más. Para un token, lee sus claims con el decodificador JWT y pega exp eligiendo Segundos como unidad. Para un log, reescribe antes la fecha en ISO 8601. El hub de utilidades para desarrolladores lista las herramientas relacionadas.
Convertir un timestamp Unix en tu navegador
Artículos relacionados

Lee una expresión cron campo a campo, comprueba sus próximas ejecuciones en UTC o en hora local y evita las trampas de pasos, zonas horarias y dialectos.

Calcula red, máscara, rango de hosts y broadcast de un CIDR, resume rangos en bloques mínimos y comprueba una IP, todo en tu navegador, sin subir nada.

Formatea un Copy as cURL, analiza una petición o respuesta HTTP en bruto y lee un export HAR en tu navegador: no se envía ni se repite nada.