Saltar al contenido principal
FreeOnlineTools Go
Español
Explicación

¿Qué es una marca de tiempo Unix? Una explicación completa del tiempo epoch

Por FreeOnlineTools Team · Actualizado 2026-09-02

Respuesta rápida

Una marca de tiempo de Unix es el número de segundos desde el 1 de enero de 1970 a las 00:00:00 UTC (la época de Unix). Es independiente de la zona horaria y fácil de comparar. JavaScript usa milisegundos (13 dígitos); Unix y la mayoría de APIs usan segundos (10 dígitos). Utilice nuestro convertidor de marcas de tiempo gratuito para convertir entre marcas de tiempo y fechas legibles por humanos.

Introducción

Una marca de tiempo Unix (también llamada tiempo de época Unix, tiempo POSIX o tiempo Unix) es la cantidad de segundos que han transcurrido desde el 1 de enero de 1970 a las 00:00:00 UTC, un momento conocido como época Unix. Las marcas de tiempo se usan ampliamente en sistemas operativos, bases de datos, registros y APIs porque son independientes de la zona horaria (siempre UTC), fáciles de comparar (comparación de enteros simple) y compactas. Sin embargo, no son legibles por humanos: 1693526400 no significa nada sin conversión. Esta guía explica qué son las marcas de tiempo y cómo utilizarlas.

Paso a paso

  1. Comprender la era Unix

    La época de Unix es el 1 de enero de 1970, 00:00:00 hora universal coordinada (UTC). Una marca de tiempo Unix es la cuenta de segundos desde este momento. Las marcas de tiempo positivas son posteriores a la época; las marcas de tiempo negativas (compatibles con algunos sistemas) están antes.

  2. Distinguir segundos de milisegundos

    Las marcas de tiempo de Unix suelen estar en segundos (10 dígitos a partir de 2026, por ejemplo, 1693526400). Date.now() y Date.getTime() de JavaScript devuelven milisegundos (13 dígitos, por ejemplo, 1693526400000). Siempre verifique qué unidad espera un API; mezclarlas es el error de marca de tiempo más común.

  3. Comprender la independencia de la zona horaria

    Las marcas de tiempo de Unix son siempre UTC. No dependen de la zona horaria del usuario. Para mostrar una marca de tiempo en una zona horaria específica, conviértala en una fecha y aplique el desplazamiento de la zona horaria. Esto hace que las marcas de tiempo sean ideales para el almacenamiento y la comparación.

  4. Conozca el problema del año 2038

    Los sistemas que utilizan enteros con signo de 32 bits para marcas de tiempo se desbordarán el 19 de enero de 2038 a las 03:14:07 UTC: el 'problema Y2038'. Los sistemas que utilizan enteros de 64 bits o números JavaScript (flotantes de 64 bits) no se ven afectados. Los sistemas modernos son en gran medida seguros para el año 2038, pero los sistemas integrados heredados pueden no serlo.

Ejemplos

Marca de tiempo para una fecha conocida

Aporte: 2023-09-01 00:00:00UTC

Producción: 1693526400 (segundos) o 1693526400000 (milisegundos)

La era Unix

Aporte: 1970-01-01 00:00:00UTC

Producción: 0

Límite del problema Y2038

Aporte: 2038-01-19 03:14:07UTC

Producción: 2147483647 (entero con signo máximo de 32 bits)

Problemas comunes

  • Mezcla de segundos y milisegundos: JavaScript usa milisegundos (Date.now()), Unix y la mayoría de APIs usan segundos. Divida por 1000 para convertir ms a segundos; multiplica por 1000 para hacer lo contrario.
  • Confusión de zona horaria: las marcas de tiempo son UTC. Al visualizar, convierta a la zona horaria local del usuario o especifique UTC. No aplique compensaciones a la marca de tiempo sin formato.
  • El problema del año 2038: las marcas de tiempo de enteros con signo de 32 bits se desbordaron el 19 de enero de 2038. Utilice enteros de 64 bits o números de JavaScript para evitar esto.
  • Marcas de tiempo negativas: las fechas anteriores al 1970-01-01 tienen marcas de tiempo negativas. Algunos sistemas no los admiten.

Consejos

  • Siempre verifique si un API espera segundos o milisegundos; este es el error de marca de tiempo más común.
  • Utilice cadenas ISO 8601 (por ejemplo, "2023-09-01T00:00:00Z") para marcas de tiempo legibles por humanos en APIs; Utilice la época Unix para almacenamiento y cálculo.
  • JavaScript Date.now() devuelve milisegundos; divide por 1000 y piso para obtener segundos.
  • Utilice nuestro Conversor de marcas de tiempo para convertir entre marcas de tiempo y fechas legibles por humanos en su navegador.

Herramientas relacionadas

Guías relacionadas

Referencias