Convertir timestamp Unix a fecha — Conversor epoch online
Epoch a fecha y viceversa (segundos a nanosegundos, texto libre, inicio y fin de periodos, código)
Funciona en tu navegador · no se sube nada
Hora Unix actual
———
Zona horaria
Todas las conversiones de abajo se calculan en esta zona.
Epoch a fecha
Escribe un timestamp y la fecha aparecerá aquí.
Fecha a epoch
Pulsa las flechas arriba y abajo en un campo para cambiarlo de 1 en 1, o de 10 en 10 con Mayús. Pega una fecha completa en cualquier campo para rellenarlos todos. Si dejas vacíos la hora, los minutos y los segundos, cuentan como 0.
Introduce una fecha y aquí aparecerán los timestamps en segundos, milisegundos, microsegundos y nanosegundos.
Inicio y fin de un año, mes o día
Obtén el timestamp del primer instante y del último segundo de un año, un mes o un día. Un día con cambio de horario de verano puede durar 23 o 25 horas.
Introduce un año (y mes, día) y aquí aparecerán los timestamps de inicio y fin.
Segundos a años, meses, días, horas y minutos
Convierte una cantidad de segundos en una duración legible. Usa promedios: un año son 365,25 días (31.557.600 s) y un mes, la doceava parte (2.629.800 s).
Escribe una cantidad de segundos y la duración aparecerá aquí.
Tabla de equivalencias en segundos
| Periodo | Segundos |
|---|---|
| 1 minuto | 60 |
| 1 hora | 3600 |
| 1 día | 86.400 |
| 1 semana | 604.800 |
| 1 mes (30 días) | 2.592.000 |
| 1 mes (30,4375 días, promedio) | 2.629.800 |
| 1 año (365 días) | 31.536.000 |
| 1 año (365,25 días, promedio) | 31.557.600 |
El tiempo Unix no cuenta los segundos intercalares: todos los días duran exactamente 86.400 segundos. Alrededor de un segundo intercalar, el mismo timestamp puede aparecer dos veces o el reloj parece detenerse. Date de JavaScript sigue la misma regla, así que no puede representar 23:59:60, y esta herramienta no acepta 60 como segundo.
Hora Unix actual en código
Elige un lenguaje para obtener un fragmento que muestra la hora actual en segundos (y en milisegundos cuando es sencillo).
const millis = Date.now();
const seconds = Math.floor(millis / 1000);
console.log(seconds, millis);Qué es
Un timestamp Unix (tiempo epoch) cuenta como un único número el tiempo transcurrido desde el 1970-01-01 00:00:00 UTC. Aparece en logs, bases de datos, respuestas de API y en el claim exp de un JWT, pero no se puede leer de un vistazo. Esta herramienta convierte un epoch en una fecha legible y una fecha en epoch. La tarjeta superior muestra en tiempo real la hora Unix actual en segundos y milisegundos, y la tarjeta de al lado fija la zona horaria para todas las conversiones. Más abajo tienes el inicio y el fin de un periodo, un conversor de segundos a duración, una tabla de equivalencias en segundos y ejemplos de código.
Cómo se usa
- Epoch a fecha: pega un timestamp. Los segundos, milisegundos, microsegundos y nanosegundos se detectan solos, y obtienes la fecha local, UTC, ISO 8601, RFC 2822, fecha HTTP, tiempo relativo, día de la semana, semana ISO y día del año.
- Fecha a epoch: en «Escribir en campos» introduce año, mes, día, hora, minuto y segundo (milisegundos opcionales) en casillas separadas. Las flechas arriba y abajo cambian el valor, pegar una fecha completa en cualquier casilla las rellena todas y «Ahora» inserta la hora actual. También puedes elegir formato de 24 horas o a. m./p. m. y activar UTC.
- ¿Prefieres un selector? Elige «Selector de calendario y reloj». ¿Prefieres escribir la fecha como texto? Elige «Fecha en texto libre»; se interpreta mientras escribes.
- Inicio y fin de un año, mes o día: elige el periodo y la fecha para obtener como timestamps el primer instante y el último segundo.
- Segundos a duración: escribe una cantidad de segundos para verla en años, meses, días, horas, minutos y segundos. Cada resultado tiene su botón de copiar al lado.
Cómo funciona
- Regla de unidad según el valor absoluto: por debajo de 1e11, segundos; por debajo de 1e14, milisegundos; por debajo de 1e17, microsegundos; a partir de ahí, nanosegundos. Los valores negativos son anteriores a 1970.
- ISO 8601 se muestra en UTC (
Z) y con el desfase de la zona seleccionada (por ejemplo+01:00). Con entradas en microsegundos y nanosegundos, el valor UTC se escribe con nueve decimales. - RFC 2822 es el formato de las cabeceras de correo, con desfase; la fecha HTTP es el formato GMT de las cabeceras
DateyExpires(RFC 9110). Los números de semana siguen ISO 8601: las semanas empiezan el lunes y la semana 1 es la que contiene el primer jueves. - Inicio y fin: el inicio es las 00:00:00 en la zona, y el fin es el inicio del periodo siguiente menos un segundo. Un día con cambio de horario de verano dura 23 o 25 horas, y donde la propia medianoche se salta se usa la primera hora que existe realmente.
- El desglose de duración usa promedios: un año son 365,25 días (31.557.600 s) y un mes, la doceava parte (2.629.800 s).
- Una hora local que el cambio al horario de verano se salta es un error, y una hora que ocurre dos veces se resuelve con la primera.
Ejemplos
| Entrada | Se lee como | Fecha UTC |
|---|---|---|
0 |
segundos | 1970-01-01T00:00:00.000Z |
1700000000 |
segundos | 2023-11-14T22:13:20.000Z |
1700000000123 |
milisegundos | 2023-11-14T22:13:20.123Z |
1700000000123456 |
microsegundos | 2023-11-14T22:13:20.123456000Z |
1700000000123456789 |
nanosegundos | 2023-11-14T22:13:20.123456789Z |
El mismo 1700000000 en Madrid es 2023-11-14 23:13:20 (+01:00) y en Corea 2023-11-15 07:13:20 (+09:00). Oct 4, 2026 3:05 PM en Seúl es 1791093900.
Notas
- Si los timestamps de dos logs parecen no cuadrar, revisa primero la unidad y la zona. Es muy habitual que uno esté en segundos y el otro en milisegundos.
Date.now()de JavaScript devuelve milisegundos, mientras que la mayoría de las herramientas Unix yUNIX_TIMESTAMP()en las bases de datos devuelven segundos. Los ejemplos de código del final muestran la llamada en cada lenguaje.- En una zona con horario de verano, como Europe/Madrid o America/New_York, una hora que se salta en primavera se indica como inexistente.
Preguntas frecuentes
¿Cómo distingue segundos, milisegundos, microsegundos y nanosegundos?
Por el valor absoluto. Por debajo de 1e11 son segundos, de 1e11 a 1e14 milisegundos, de 1e14 a 1e17 microsegundos y a partir de 1e17 nanosegundos. Cada límite corresponde al mismo instante (el año 5138 en una unidad y 1973 en la siguiente más fina), así que las fechas habituales nunca caen en una zona dudosa. Para un valor poco común, como una fecha anterior a 1973 en milisegundos, elige tú la unidad. Los valores en nanosegundos superan 2^53, así que se calculan de forma exacta con BigInt.
¿Qué zona horaria se usa al convertir una fecha en timestamp?
El año, mes, día, hora, minuto y segundo que escribes se interpretan como hora local de la zona seleccionada, o como UTC si pulsas el botón UTC. La misma fecha 2024-01-01 09:00:00 difiere 3600 segundos (1 hora) entre Madrid y UTC, y 32.400 segundos (9 horas) entre Seúl y UTC. Si una fecha en texto libre lleva su propio desfase o zona, como +01:00, Z o [Europe/Madrid], manda ese valor.
¿Qué formatos de fecha entiende el cuadro de texto libre?
ISO 8601/RFC 3339 (2026-10-04T15:05:00+02:00), RFC 9557 (zona entre corchetes al final), RFC 5322 (Sun, 04 Oct 2026 15:05:00 +0200), HTTP-date y fechas escritas en inglés o coreano, como Oct 4, 2026 3:05 PM o 4 October 2026. Los nombres de mes en español no se reconocen, pero las formas numéricas como 2026/10/04 sí funcionan. Justo debajo verás el formato detectado, y si falla se indica el motivo.
¿Le afecta el problema del año 2038?
No. Un entero de 32 bits con signo se agota el 2038-01-19, pero esta herramienta usa números de JavaScript y admite fechas hasta aproximadamente el año 275760. Otra cuestión es si el sistema al que pasas el valor usa 32 bits.
¿Cómo se tratan los segundos intercalares?
El tiempo Unix no los cuenta. Todos los días tienen exactamente 86.400 segundos, y alrededor de un segundo intercalar el mismo timestamp puede aparecer dos veces. Date de JavaScript sigue la misma regla, así que no puede representar 23:59:60, y esta herramienta no acepta 60 como segundo.
¿Se envía a un servidor algo de lo que escribo?
No. Todos los cálculos usan Date, Intl y BigInt del navegador; no se sube nada.