¡Hola!
Llevo varios días intentando entender esto.
Por una parte estoy usando PostgreSQL para almacenar los datos. Estos los visualizo con Xojo, pero cuando de quiere mostrar las horas…¡sorprende!
Por ello, me he ocupado un momento para entenderlo bien, y quiero compartirlo con vosotros.
Teniendo campos/columnas donde se auto-introduce la fecha en pgsql con la función now(), según el comando usado se muestran distintas horas
Así, a las 10 de la mañana:
PgSQL (tipo) | Comando | Resultado (en Xojo) |
---|---|---|
timestamptz | to_char(fecha, ‘HH24:MI’) as hora | 09:00 |
timestamp | to_char(fecha, ‘HH24:MI’) as hora | 09:00 |
timestamptz | to_char(fecha at time zone ‘Europe/Madrid’, ‘HH24:MI’) as hora | 10:00 |
timestamp | to_char(fecha at time zone ‘Europe/Madrid’, ‘HH24:MI’) as hora | 09:00 |
La configuración en el servidor (Linux) donde está instalado pgSQL es:
timedatectl
Local time: mar 2024-03-05 10:00:00 CET
Universal time: mar 2024-03-05 09:00:00 UTC
RTC time: mar 2024-03-05 09:00:00
Time zone: Europe/Madrid (CET, +0100)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
Y de pgSQL
show timezone;
TimeZone
Etc/UTC
(1 row)
Es interesante, cuando menos, que el resultado correcto sea aplicando la zona horaria 2 veces (en el servidor y en Xojo). Afortunadamente, no tenemos cambio de zona, pero ¿qué ocurriría en otros sitios donde una misma provincia/estado/… tiene cambio de zona horaria?
Ahí lo dejo para quien pueda resultar interesante, o tal vez si alguien se le ocurre qué configuración tengo mal…¡estoy a tiempo de cambiar!
6 posts - 3 participants