Guardado en BD: 2025-12-08 19:11:30+00 (hora de Canarias)
Mostrado en tu cliente: 2025-12-08 16:11:30-03 (convertido a Paraguay, 3 horas menos)
Ambas representan el MISMO momento en el tiempo, solo que en zonas horarias diferentes.
🌍 Resumen del Sistema
Componente Zona Horaria Estado
PostgreSQL (almacenamiento) +00 Atlantic/Canary ✅ CORRECTO
Backend FastAPI Atlantic/Canary ✅ CORRECTO
Frontend (usuario) Local del navegador ✅ CORRECTO (convierte automáticamente)
Tu cliente PostgreSQL -0300 Paraguay ℹ️ Solo afecta cómo VES las fechas
💡 Conclusión
1. PostgreSQL (Base de Datos)
Variables de entorno: TZ=Atlantic/Canary y PGTZ=Atlantic/Canary
Configurado en todos los archivos Docker: docker-compose.yml, docker-compose.prod.yml, docker-stack.yml
2. Backend (FastAPI/Python)
Configuración de zona horaria al inicio de main.py
Conexión a PostgreSQL con parámetro de timezone
Event listener que establece timezone en cada conexión a la BD
Variable de entorno: TZ=Atlantic/Canary
3. Frontend (React)
Ya estaba usando fechas locales correctamente con el constructor new Date(year, month, day)
4. Migración SQL
Creado set_timezone_canary.sql para actualizar la BD existente