Horario de Verano (DST) en Arquitectura TI: Guía Universal y Hoja de Trucos
Para la mayoría de las personas, cambiar al horario de verano (DST) o de invierno es simplemente una cuestión de ajustar el reloj. Sin embargo, en TI, basar un sistema en una zona horaria local es una bomba de relojería que generalmente explota dos veces al año.
En este artículo, analizaremos por qué el DST rompe los sistemas y proporcionaremos soluciones para DevOps, Backend, Bases de Datos y Frontend.
La regla de oro de TI: Almacenar en UTC, mostrar en local
La única salvación efectiva es que todos los servidores y BD operen exclusivamente en UTC.
1. Servidores (Docker / Linux)
ENV TZ=UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
2. Bases de Datos (SQL)
-- PostgreSQL
CREATE TABLE user_logs (
id SERIAL PRIMARY KEY,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- MySQL
SET GLOBAL time_zone = '+00:00';
3. Backend (Python y Node.js)
# Python
from datetime import datetime, timezone
good_time = datetime.now(timezone.utc)
// Node.js
const timestampForAPI = new Date().toISOString();
4. Frontend (Navegador)
const apiUtcDate = new Date('2026-10-25T14:30:00.000Z');
const formatter = new Intl.DateTimeFormat('es-ES', { dateStyle: 'medium', timeStyle: 'short' });
console.log("Hora local:", formatter.format(apiUtcDate));