Saltar al contenido principal
riqo.ioHerramientas para grandes ideas

Unix timestamp, Epoch y representación del tiempo

Cómo representar instantes, distinguir UTC, offset y timezone y trabajar con segundos, milisegundos e ISO 8601.

Epoch e instante absoluto

Unix time mide el tiempo desde 1970-01-01T00:00:00Z, normalmente como segundos transcurridos. Identifica un instante en la línea temporal sin incorporar una zona geográfica ni un formato local.

Esa neutralidad facilita almacenamiento, protocolos y comparaciones. La presentación humana requiere convertir el instante a calendario, locale y zona horaria adecuados.

Segundos, milisegundos y unidades

Distintos sistemas usan segundos, milisegundos, microsegundos o nanosegundos. Interpretar el mismo entero con otra unidad desplaza la fecha por órdenes de magnitud, por lo que la unidad forma parte del contrato.

Muchas API JavaScript usan milisegundos y numerosas interfaces Unix usan segundos. No conviene confiar en heurísticas basadas solo en la cantidad de dígitos.

UTC, offset y timezone

UTC es la referencia global; un offset como +02:00 expresa la diferencia respecto a UTC en un instante. Una zona como Europe/Rome contiene reglas históricas y futuras, incluidas transiciones de horario de verano.

Un offset no es una timezone. Conocer +02:00 no indica qué reglas aplicar en otra fecha; los eventos civiles recurrentes suelen necesitar un identificador de zona.

DST y horas locales ambiguas

Al comenzar el horario de verano algunas horas locales no existen; al terminar, algunas ocurren dos veces. Un datetime local sin zona puede ser ambiguo o inválido.

Para hechos ocurridos guarda un instante absoluto. Para citas futuras ligadas a reglas civiles conserva también la zona y la semántica local. Son problemas diferentes.

ISO 8601 para intercambio legible

ISO 8601 ofrece cadenas ordenadas y legibles como 2026-08-29T21:30:00Z o valores con offset explícito. Es apropiado en muchas API y logs cuando importa la legibilidad.

Incluir Z u offset evita interpretaciones locales silenciosas. El contrato debe definir además precisión, política de zona y significado de valores sin offset.

Leap seconds, rangos y buenas prácticas

El modelo Unix/POSIX habitual no representa los leap seconds como segundos lineales distintos y las plataformas pueden tratarlos de forma diferente. Aplicaciones científicas pueden necesitar otras escalas temporales.

Usa bases de zonas actualizadas, declara las unidades y evita calcular tiempo civil sumando segundos cuando el requisito es 'la misma hora local mañana'. Tiempo de máquina y calendario civil son conceptos distintos.

Guías relacionadas

UTC, offset, timezone, DST e ISO 8601

Cómo distinguir instantes absolutos, offsets y reglas geográficas de zona horaria en sistemas software.