Marcas de tiempo Unix y zonas horarias explicadas

Los ordenadores guardan el tiempo como un único número: la cantidad de segundos transcurridos desde un momento fijo. Las personas leen el tiempo como una fecha, una hora y un lugar. Casi todos los errores con fechas surgen al traducir de uno a otro: una reunión que queda desfasada una hora después del cambio de hora, una fecha que aparece como 1970, una exportación que se desvía un día. Esta guía explica qué significa ese número, cómo reconocer sus unidades y por qué un mismo instante tiene una hora local distinta en cada zona horaria.

Qué cuenta una marca de tiempo Unix

Una marca de tiempo Unix es el número de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC, un momento conocido como época Unix. A mediodía UTC del 24 de septiembre de 2026 era 1.790.251.200.

El número es el mismo en toda la Tierra en un mismo instante. No lleva zona horaria: la zona solo aparece cuando el número se convierte en una fecha para que la lea una persona. Por eso las marcas de tiempo son la forma segura de guardar e intercambiar momentos entre sistemas, y las horas locales solo sirven para mostrarlos.

El tiempo Unix también ignora los segundos intercalares. Cada día se cuenta como exactamente 86.400 segundos, y cuando se añade un segundo intercalar el reloj simplemente repite un segundo. Para casi cualquier fin eso es invisible, y los segundos intercalares tienen los días contados: en 2022, la Conferencia General de Pesas y Medidas decidió dejar de añadirlos a más tardar en 2035.

Conversor de marcas de tiempo Unix

¿Segundos o milisegundos?

El mismo momento suele escribirse en dos unidades. Las herramientas Unix, las bases de datos y la mayoría de las API usan segundos; JavaScript, Java y muchos sistemas de registro usan milisegundos. En las fechas de este siglo, la longitud lo delata: 10 dígitos son segundos y 13 dígitos son milisegundos.

Un error es fácil de detectar. Un valor en milisegundos leído como segundos cae decenas de miles de años en el futuro; un valor en segundos leído como milisegundos cae en enero de 1970. Si una fecha aparece como 1970, lo primero que hay que comprobar es la unidad.

El problema del año 2038

Muchos sistemas antiguos guardan la marca de tiempo como un entero de 32 bits con signo, cuyo valor máximo es 2.147.483.647. Ese segundo cae el 19 de enero de 2038 a las 03:14:07 UTC. Un segundo después, el número se desborda y da la vuelta hasta el 13 de diciembre de 1901.

Los sistemas operativos, las bases de datos y los lenguajes modernos usan tiempo de 64 bits, lo que aleja el límite miles de millones de años. El riesgo está en los dispositivos integrados, los formatos de archivo antiguos y las columnas de bases de datos declaradas como enteros de 32 bits, y por eso las fechas muy lejanas en el futuro, como el final de un préstamo a 30 años, pueden fallar ya hoy.

UTC, desfases y zonas horarias

UTC, el tiempo universal coordinado, es la referencia con la que se mide cualquier otra hora. No cambia con las estaciones. GMT se usa a menudo como su nombre de uso cotidiano; salvo en astronomía, ambos pueden tratarse como lo mismo.

Un desfase respecto a UTC indica cuánto va adelantado o atrasado un reloj local con respecto a UTC: Lisboa en invierno está en UTC+0, Berlín en UTC+1, São Paulo en UTC−3 y Tokio en UTC+9. Los desfases no siempre son horas enteras —la India está en UTC+5:30 y Nepal en UTC+5:45— y van de UTC−12 a UTC+14.

Una zona horaria es más que un desfase. Es el historial completo de desfases y reglas de horario de verano de un lugar, recogido en la base de datos tz con nombres como Europe/Lisbon o America/Sao_Paulo. El software que convierte fechas pasadas o futuras necesita la zona, no solo el desfase actual, porque las reglas cambian: Brasil, por ejemplo, abolió el horario de verano en 2019.

Cómo se escribeQué significa
2026-09-24T12:00:00ZISO 8601 / RFC 3339 en UTC; la Z indica UTC.
2026-09-24T13:00:00+01:00El mismo instante, escrito con un desfase local de UTC+1.
2026-09-24 13:00Una hora local sin desfase ni zona: es ambigua hasta que sabes dónde se escribió.
1790251200El mismo instante como marca de tiempo Unix en segundos.

Horario de verano

Muchos países adelantan sus relojes una hora en verano y los atrasan en invierno, y no todos lo hacen el mismo día. En la Unión Europea, el cambio se produce a las 01:00 UTC del último domingo de marzo y del último domingo de octubre, en el mismo instante en todos los Estados miembros. Estados Unidos cambia el segundo domingo de marzo y el primer domingo de noviembre, a las 2:00 hora local. En el hemisferio sur las estaciones están invertidas, y muchos países —entre ellos Brasil y la mayor parte de Asia y África— no cambian la hora en absoluto.

Así, durante unas semanas cada primavera y cada otoño, la diferencia entre dos ciudades varía una hora respecto a la habitual. Es entonces cuando las reuniones periódicas se desplazan, y por eso una herramienta de planificación necesita las ciudades, no desfases fijos.

Los cambios también crean horas locales que no existen y horas que ocurren dos veces. La noche en que se adelanta la hora, las 01:30 nunca llegan en Lisboa; la noche de otoño, las 01:30 ocurren dos veces, una en horario de verano y otra en horario de invierno. Una marca de tiempo no tiene ninguno de los dos problemas, otro motivo para guardar los instantes como marcas de tiempo.

Solapamiento horario para reuniones

Preguntas frecuentes

¿Por qué una fecha aparece como 1 de enero de 1970?

Porque el valor guardado era 0, estaba vacío o era una marca de tiempo en segundos leída como milisegundos. La época Unix es el aspecto que tiene una fecha cuando el número que hay detrás es cero o está cerca de cero.

¿Una marca de tiempo Unix está en UTC o en hora local?

En ninguna de las dos: es un recuento de segundos desde un punto de partida en UTC, y es el mismo en cualquier lugar de la Tierra. Solo se convierte en una hora UTC o local cuando se muestra.

¿Por qué mi exportación se desvía un día?

Normalmente, una fecha sin hora se trató como medianoche UTC y después se mostró en una zona por detrás de UTC, lo que la convierte en la noche del día anterior. Guarda las fechas que no tienen hora del día como fechas simples, no como marcas de tiempo.

¿Qué significa la Z al final de una hora?

Indica que la hora está en UTC, igual que +00:00. La letra viene del nombre militar de esa zona, «Zulu».

Guías relacionadas