Du altid få de same data in browser client as the db original value
. Der er bare mange forskellige måder at vise det samme tidspunkt på (i forskellige tidszoner). To eksempler (tekstrepræsentationer af en timestamptz
værdi):
'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'
Samme værdi .
Hvad Postgres angår, er tidszoneindstillingen af serveren fuldstændig irrelevant for dette. Det eneste relevante er indstillingen af sessionen. Og det eneste, der ændrer sig, er displayet af værdien. Det er altid det samme tidspunkt.
Så bare indstil tidszonen i din session for at få den tilsvarende tekstrepræsentation:
- Indstil tidszone for PostgreSQL-forekomst
- PostgreSQL dump og gendannelse i anden tidszone
- Indstil tidszone for tidsstempelkolonnen i PostgreSQL
En anden mulighed ville være AT TIME ZONE
konstruere. For at få et timestamp
som lokal timestamp without time zone
:
SELECT my_timestamptz_column AT TIME ZONE '-8';
Når man har at gøre med en table that contains a column of timezone type
, kan dette være den bedre tilgang, da tidszonen kan ændre sig for hver række.
Igen er alt dette i referencesvaret: