1
votes

Différentes TimeZone produisent des valeurs erronées

Je me demande pourquoi je reçois des heures différentes de ce post Message

set timezone to 'UTC';

SELECT timestamptz '2012-03-05 17:00:00+0';  
Expected :2012-03-05 17:00:00+00
Got : 2012-03-05 22:30:00

SET timezone TO 'Europe/Berlin';

SELECT '2012-03-05 17:00:00+0'::timestamptz;  
Expected :  2012-03-05 18:00:00+01
Got: 2012-03-05 22:30:00



SELECT timestamptz '2012-03-05 18:00:00+1';
Expected : 2012-03-05 17:00:00+00
Got : 2012-03-05 22:30:00


0 commentaires

3 Réponses :


0
votes

Je pense que le problème est de savoir comment vous définissez votre fuseau horaire.

Pouvez-vous essayer de changer SET timezone TO en SET TIME ZONE et voir si cela fonctionne?

Vous pouvez consulter la documentation ci-dessous pour plus d'aide: https://www.postgresql.org/docs/9.1/ datatype-datetime.html # DATATYPE-TIMEZONES


1 commentaires

La documentation dit: " SET TIME ZONE value est un alias pour SET timezone TO value . "



0
votes

Vos attentes sont correctes. Le problème doit être que vous exécutez les instructions dans différentes sessions de base de données.

La portée de SET est limitée à la session en cours.


0 commentaires

0
votes

En fait, j'utilise DBeaver comme DB IDE et là, nous devons faire quelques ajustements dans dbeaver.ini référez-vous ceci post pour plus d'informations


0 commentaires