PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Zeitzone abfragen - DB-Server und Client-Rechner haben unterschiedliche Zeitzonen

Sie immer Holen Sie sich die same data in browser client as the db original value . Es gibt einfach viele verschiedene Möglichkeiten, denselben Zeitpunkt (in verschiedenen Zeitzonen) anzuzeigen. Zwei Beispiele (Textdarstellungen eines timestamptz Wert):

'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'

Gleicher Wert .

Für Postgres ist die Zeitzoneneinstellung des Servers dafür völlig irrelevant. Das einzig Relevante ist die Einstellung der Sitzung. Und das Einzige, was sich ändert, ist die Anzeige des Wertes. Es ist immer derselbe Zeitpunkt.

Stellen Sie also einfach die Zeitzone in Ihrer Sitzung ein, um die entsprechende Textdarstellung zu erhalten:

Eine weitere Option wäre AT TIME ZONE konstruieren. Um einen timestamp zu erhalten als lokal timestamp without time zone :

SELECT my_timestamptz_column AT TIME ZONE '-8';

Beim Umgang mit einer table that contains a column of timezone type enthält , ist dies möglicherweise der bessere Ansatz, da sich die Zeitzone für jede Zeile ändern kann.

All dies steht wiederum in der Referenzantwort: