Jij altijd krijg de same data in browser client as the db original value
. Er zijn gewoon veel verschillende manieren om hetzelfde tijdstip (in verschillende tijdzones) weer te geven. Twee voorbeelden (tekstrepresentaties van een timestamptz
waarde):
'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'
Dezelfde waarde .
Wat Postgres betreft, is de tijdzone-instelling van de server hiervoor volledig irrelevant. Het enige relevante is de setting van de sessie. En het enige dat verandert is de weergave van de waarde. Het is altijd hetzelfde tijdstip.
Stel dus gewoon de tijdzone in uw sessie in om de bijbehorende tekstweergave te krijgen:
- Tijdzone van PostgreSQL-instantie instellen
- PostgreSQL dumpen en herstellen in andere tijdzone
- Stel de tijdzone van de tijdstempelkolom in PostgreSQL in
Een andere optie is de AT TIME ZONE
bouwen. Een timestamp
krijgen als lokaal timestamp without time zone
:
SELECT my_timestamptz_column AT TIME ZONE '-8';
Bij het omgaan met een table that contains a column of timezone type
bevat , is dit misschien de betere benadering, aangezien de tijdzone voor elke rij kan veranderen.
Nogmaals, dit staat allemaal in het referentieantwoord: