Unix timestamp a fecha y hora – convertidor de marca de tiempo epoch
Pega una marca de tiempo Unix y lee la fecha y la hora. El valor 1700000000 corresponde al 14 de noviembre de 2023, 22:13:20 UTC. El convertidor reconoce segundos, milisegundos, microsegundos y nanosegundos por sus cifras, y la opción Hora local muestra la hora de tu dispositivo.
Puedes escribir segundos, milisegundos, microsegundos o nanosegundos. La unidad se reconoce por el número de cifras.
¿Qué es un Unix timestamp o marca de tiempo Unix?
Un Unix timestamp, en español marca de tiempo Unix o tiempo Unix, es la cantidad de segundos transcurridos desde la medianoche UTC del 1 de enero de 1970[1]. Ese instante se llama época Unix y tiene el valor 0. UTC es el tiempo universal coordinado, la referencia a partir de la cual se cuentan las zonas horarias del mundo.
La forma de contar la fija POSIX, el estándar común de los sistemas tipo Unix. En él cada día tiene exactamente 86 400 segundos[2]. Los segundos intercalares que se añaden a UTC no tienen número propio en esta cuenta[1].
La marca de tiempo no contiene información sobre la zona horaria[3]. El número 1700000000 describe el mismo instante en Madrid y en Ciudad de México. Lo único que cambia es la hora que marcan los relojes de las dos ciudades en ese instante.

¿Qué fecha corresponde a un Unix timestamp?
El Unix timestamp 1700000000 corresponde al 14 de noviembre de 2023 a las 22:13:20 UTC. En la España peninsular eran las 23:13:20, porque en noviembre rige la hora UTC+1[4]. En Ciudad de México eran las 16:13:20, ya que la Zona Centro usa UTC-6[5].
Pega cualquier marca de tiempo en el campo Marca de tiempo Unix y la fecha aparece en el campo Fecha y hora mientras escribes. Bajo el resultado, el convertidor indica en qué unidad ha leído el número.
Reconoce la unidad por el número de cifras. Una marca de tiempo actual en segundos tiene diez cifras. Un valor de JavaScript tiene trece, porque Date.now() devuelve milisegundos[6]. El resultado de time.time_ns() en Python tiene diecinueve cifras, porque esa función cuenta nanosegundos[7].
La opción Hora local del selector Zona horaria muestra la hora de tu dispositivo con el desfase de su zona.
Para calcular la marca de tiempo de una fecha, usa el convertidor de fecha a Unix timestamp.
¿Cómo se convierte un Unix timestamp en fecha? Fórmula y ejemplo
En el tiempo Unix cada día tiene exactamente 86 400 segundos[2]. Para convertir una marca de tiempo en fecha, divídela entre 86 400. La parte entera del resultado es el número de días completos desde el 1 de enero de 1970. El resto de la división es la hora de ese día expresada en segundos.
Toma la marca de tiempo 1700000000. Al dividirla entre 86 400 salen 19 675 días completos. El resto es de 80 000 segundos.
Si el 1 de enero de 1970 cuenta como día cero, el día 19 675 es el 14 de noviembre de 2023. El resto es la hora de ese día: 80 000 segundos son 22 horas, 13 minutos y 20 segundos. El resultado completo es 2023-11-14 22:13:20 UTC.
Una marca de tiempo en milisegundos se divide primero entre 1000, una en microsegundos entre un millón y una en nanosegundos entre mil millones. El convertidor de arriba hace esa división por sí solo antes de calcular la fecha. El cálculo inverso, de una fecha a un número de segundos, lo hace el convertidor de fecha a Unix timestamp.
Una marca de tiempo escrita en hexadecimal, como 6553F100, conviértela primero a decimal. Lo hace el convertidor de decimal a hexadecimal después de pulsar Cambiar orden. El valor 6553F100 es 1700000000 en decimal.
¿Qué fechas corresponden a las marcas de tiempo Unix redondas?
| Marca de tiempo | Fecha y hora en UTC | Qué marca este valor |
|---|---|---|
| -2147483648 | 1901-12-13 20:45:52 | Menor entero de 32 bits con signo |
| -86400 | 1969-12-31 00:00:00 | Un día antes de la época |
| -1 | 1969-12-31 23:59:59 | Último segundo antes de la época |
| 0 | 1970-01-01 00:00:00 | Época Unix |
| 86400 | 1970-01-02 00:00:00 | Fin del primer día |
| 1000000000 | 2001-09-09 01:46:40 | Mil millones de segundos |
| 1234567890 | 2009-02-13 23:31:30 | Cifras del 1 al 0 en orden |
| 1500000000 | 2017-07-14 02:40:00 | 1500 millones de segundos |
| 1600000000 | 2020-09-13 12:26:40 | 1600 millones de segundos |
| 1700000000 | 2023-11-14 22:13:20 | 1700 millones de segundos |
| 1735689600 | 2025-01-01 00:00:00 | Inicio de 2025 |
| 1767225600 | 2026-01-01 00:00:00 | Inicio de 2026 |
| 1800000000 | 2027-01-15 08:00:00 | 1800 millones de segundos |
| 2000000000 | 2033-05-18 03:33:20 | 2000 millones de segundos |
| 2147483647 | 2038-01-19 03:14:07 | Mayor entero de 32 bits con signo |
| 4102444800 | 2100-01-01 00:00:00 | Inicio de 2100 |
| 4294967295 | 2106-02-07 06:28:15 | Mayor entero de 32 bits sin signo |
¿Cómo saber si una marca de tiempo está en segundos, milisegundos o nanosegundos?
| Unidad | Cifras hoy | El instante 1700000000 en esta unidad | Dónde la encuentras |
|---|---|---|---|
| Segundos | 10 | 1700000000 | time() de PHP, campo exp de un JWT, marcas de tiempo en Discord |
| Milisegundos | 13 | 1700000000000 | Date.now() de JavaScript, EPOCHTODATE con la unidad 2 |
| Microsegundos | 16 | 1700000000000000 | EPOCHTODATE con la unidad 3 |
| Nanosegundos | 19 | 1700000000000000000 | time.time_ns() de Python |
¿Con qué fórmula o comando se convierte un Unix timestamp en fecha?
| Dónde | Fórmula o comando | Resultado para 1700000000 |
|---|---|---|
| Excel | =A1/86400+FECHA(1970;1;1) | 2023-11-14 22:13:20 al dar a la celda un formato de fecha y hora |
| Excel, marca de tiempo en milisegundos | =A1/86400000+FECHA(1970;1;1) | La misma fecha para el valor 1700000000000 |
| Hojas de cálculo de Google | =EPOCHTODATE(A1) | Fecha y hora en UTC |
| Hojas de cálculo de Google, milisegundos | =EPOCHTODATE(A1; 2) | Fecha y hora en UTC para el valor 1700000000000 |
| MySQL | SELECT FROM_UNIXTIME(1700000000); | 2023-11-14 22:13:20 si la sesión tiene la zona UTC |
| PostgreSQL | SELECT to_timestamp(1700000000); | 2023-11-14 22:13:20+00 si la sesión tiene la zona UTC |
| Python | datetime.fromtimestamp(1700000000, tz=timezone.utc) | 2023-11-14 22:13:20+00:00 |
| JavaScript | new Date(1700000000 * 1000).toISOString() | 2023-11-14T22:13:20.000Z |
| Linux, comando date | date -u -d @1700000000 | Tue Nov 14 22:13:20 UTC 2023 |
| PowerShell 7.1 y posteriores | Get-Date -UnixTimeSeconds 1700000000 -AsUTC | Fecha y hora en UTC con el formato regional del sistema |
¿Cómo preparar la fórmula en Excel y Hojas de cálculo de Google para que muestre una fecha?
Para una sola marca de tiempo es más rápido el campo de arriba. Una columna entera de marcas de tiempo exportadas de una base de datos se convierte con una fórmula arrastrada hacia abajo.
Excel: fórmula con la función FECHA
Escribe la marca de tiempo en la celda A1 y la fórmula =A1/86400+FECHA(1970;1;1) en la celda B1. En Excel en español, la función FECHA tiene los argumentos año, mes y día[18]. La fórmula divide los segundos entre los segundos de un día y suma el resultado a la fecha 1 de enero de 1970.Excel: formato de fecha y hora en la celda
Excel almacena las fechas como números de serie secuenciales, y el 1 de enero de 1900 es el número de serie 1[18]. Por eso la celda B1 muestra primero un número de días con decimales, unos 45244,93. En Formato de celdas, pestaña Número, elige la categoría Personalizada y escribe el formato aaaa-mm-dd hh:mm:ss. Verás 2023-11-14 22:13:20[19].Excel: libro con el sistema de fechas 1904
Excel puede contar las fechas desde el 1 de enero de 1904, y la diferencia entre los dos sistemas de fechas es de 1 462 días[20]. En el sistema 1900, el 1 de enero de 1970 es el número 25569. En el sistema 1904, el mismo día es el número 24107. FECHA devuelve el número en el sistema de fechas del propio libro, así que la fórmula da la fecha correcta en los dos sistemas.Hojas de cálculo de Google: la función EPOCHTODATE
En Hojas de cálculo de Google basta la fórmula =EPOCHTODATE(A1). Una marca de tiempo en milisegundos necesita el segundo argumento 2, y una en microsegundos el argumento 3. El resultado se muestra siempre en UTC, sea cual sea la zona horaria de la hoja[11].Hora de España o de México en la hoja
¿Por qué el convertidor muestra una hora distinta de la de tu reloj?
El convertidor muestra por defecto UTC, porque en esa escala se cuenta la propia marca de tiempo[1]. La hora oficial de la España peninsular es UTC+1 en invierno y UTC+2 en verano, y en Canarias es una hora menos[4]. El horario de verano empieza el último domingo de marzo y termina el último domingo de octubre[4].
En México ya no hay horario de verano[21]. La Zona Centro, que incluye Ciudad de México, usa UTC-6[5], y solo algunos municipios de la frontera norte siguen cambiando la hora[21].
Por eso la marca de tiempo 1700000000 da las 22:13:20 en UTC, las 23:13:20 en Madrid y las 16:13:20 en Ciudad de México. La marca 1782864000 es la medianoche UTC del 1 de julio de 2026. En Madrid son entonces las 2:00, y en Ciudad de México las 18:00 del 30 de junio.
Las bases de datos funcionan igual. MySQL muestra el resultado de FROM_UNIXTIME en la zona horaria de la sesión[12]. La misma marca leída con la sesión en UTC y con la sesión en Europe/Madrid da dos horas distintas.
La opción Hora local del selector Zona horaria muestra tu hora sin hacer cuentas, siempre que tu dispositivo tenga configurada la zona correcta. La marca de tiempo de una hora concreta la calculas en el convertidor de fecha a Unix timestamp.

Fuentes
- Tiempo Unix — Wikipedia
- The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the Epoch — The Open Group
- time — PHP Manual — The PHP Group
- Sección de Hora — Real Instituto y Observatorio de la Armada
- Hora Oficial de los Estados Unidos Mexicanos — Centro Nacional de Metrología (CENAM)
- Date.now() — MDN Web Docs
- time — Time access and conversions — Python Software Foundation
- Year 2038 problem — Wikipedia (inglés)
- RFC 7519: JSON Web Token (JWT) — IETF
- Reference — Message Formatting — Discord Developer Documentation
- Función EPOCHTODATE — Ayuda de Editores de Documentos de Google
- MySQL 8.4 Reference Manual, Date and Time Functions — Oracle
- PostgreSQL Documentation, Date/Time Functions and Operators — PostgreSQL Global Development Group
- PostgreSQL Documentation, Date/Time Types — PostgreSQL Global Development Group
- datetime — Basic date and time types — Python Software Foundation
- GNU Coreutils, Seconds since the Epoch — Free Software Foundation
- Get-Date (Microsoft.PowerShell.Utility) — Microsoft Learn
- Función FECHA — Microsoft Support
- Aplicar formato a una fecha como quiera en Excel — Microsoft Support
- Sistemas de fechas en Excel — Microsoft Support
- Ya no hay Horario de Verano en la República Mexicana — Secretaría de Energía
Todos los valores de las tablas se calcularon a partir de las definiciones de las unidades y se comprobaron aritméticamente antes de publicarlos. Los datos históricos y los nombres de las unidades locales proceden de las fuentes indicadas arriba.
Última revisión del contenido: · redactado y verificado por el equipo de Arteon
Preguntas frecuentes sobre el Unix timestamp
¿Cuál es el Unix timestamp actual?
La marca de tiempo actual aumenta en uno cada segundo. En septiembre de 2026 está entre 1788220800 y 1790812799. El valor exacto lo devuelve en la consola del navegador la expresión Math.floor(Date.now() / 1000), porque Date.now() devuelve milisegundos[6]. La marca de una fecha concreta la calculas en el convertidor de fecha a Unix timestamp.
¿Qué significa el campo exp de un JWT?
El campo exp indica el momento a partir del cual el token no debe aceptarse. Su valor es el número de segundos desde el 1 de enero de 1970 UTC, sin contar los segundos intercalares[9]. Pégalo en el convertidor y verás la fecha y la hora en que caduca el token. Con el mismo formato se escriben el campo iat, el momento en que se emitió el token, y el campo nbf, el momento antes del cual el token no debe aceptarse[9].
¿Qué es el problema del año 2038?
Una marca de tiempo guardada como entero de 32 bits con signo alcanza su valor máximo el martes 19 de enero de 2038[1], a las 03:14:07 UTC[8]. Ese valor, 2147483647, es 7FFFFFFF en el convertidor de decimal a hexadecimal. Un segundo después, el contador se desborda y muestra el 13 de diciembre de 1901[8]. El núcleo Linux admite desde la versión 5.6, publicada en 2020, tiempo de 64 bits también en arquitecturas de 32 bits[8].
¿Puede ser negativo un Unix timestamp?
Sí. Los valores negativos corresponden a instantes anteriores al 1 de enero de 1970[13]. La marca -86400 es el 31 de diciembre de 1969 a las 00:00:00 UTC. El convertidor acepta el signo menos delante del número.
¿Cómo trata el tiempo Unix los segundos intercalares?
En el tiempo Unix cada día tiene exactamente 86 400 segundos[2], así que un segundo intercalar no tiene número propio. La documentación de GNU pone un ejemplo de finales de 2016. La marca 1483228799 es el 31 de diciembre a las 23:59:59 UTC, y la marca 1483228800 ya es la medianoche del 1 de enero de 2017. El segundo 23:59:60 no se puede escribir como marca de tiempo[16].
¿Cómo muestro un Unix timestamp en un mensaje de Discord?
Escribe <t:1700000000> en el mensaje. Discord muestra ese instante en la zona horaria y el formato de cada persona que lo lee. El estilo se añade después de un segundo signo de dos puntos: <t:1700000000:R> muestra el tiempo relativo y <t:1700000000:F> la fecha completa con el día de la semana[10].
¿Por qué Python declaró obsoleto utcfromtimestamp?
El método datetime.utcfromtimestamp() está obsoleto desde Python 3.12. Devuelve un objeto sin zona horaria, y muchos métodos del módulo datetime tratan ese objeto como hora local. La documentación recomienda usar en su lugar datetime.fromtimestamp(marca, tz=timezone.utc)[15].
¿Acepta el campo puntos, espacios y valores en milisegundos?
Sí. Puedes separar las cifras de tres en tres con puntos, espacios, guiones bajos o apóstrofos, como en «1.700.000.000» o «1 700 000 000». Una sola coma o un solo punto separan la fracción de segundo, como en 1700000000,5. Los milisegundos, microsegundos y nanosegundos el convertidor los reconoce por el número de cifras.
¿Cómo convierto una fecha de nuevo en Unix timestamp?
Pulsa Cambiar orden. Se abrirá el convertidor de fecha a Unix timestamp con el resultado del campo Fecha y hora ya escrito. Allí escribes la fecha como 2023-11-14 22:13:20 o 14.11.2023 22:13.

Ayúdanos a mejorar nuestras herramientas
¿Tienes una idea, encontraste un error o quieres sugerir una función? Escríbenos.