Ty zawsze pobierz same data in browser client as the db original value
. Istnieje tylko wiele różnych sposobów wyświetlania tego samego punktu w czasie (w różnych strefach czasowych). Dwa przykłady (reprezentacje tekstowe timestamptz
wartość):
'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'
Ta sama wartość .
W przypadku Postgresa ustawienie strefy czasowej serwera nie ma tutaj żadnego znaczenia. Jedyną istotną rzeczą jest oprawa sesji. Zmienia się tylko wyświetlacz wartości. To zawsze ten sam punkt w czasie.
Po prostu ustaw strefę czasową w sesji, aby uzyskać odpowiednią reprezentację tekstową:
- Ustaw strefę czasową instancji PostgreSQL
- Zrzut i przywracanie PostgreSQL w innej strefie czasowej
- Ustaw strefę czasową kolumny znacznika czasu w PostgreSQL
Inną opcją byłoby AT TIME ZONE
zbudować. Aby uzyskać timestamp
jako lokalny timestamp without time zone
:
SELECT my_timestamptz_column AT TIME ZONE '-8';
Kiedy mamy do czynienia z table that contains a column of timezone type
, może to być lepsze podejście, ponieważ strefa czasowa może się zmieniać dla każdego wiersza.
Ponownie, wszystko to znajduje się w odpowiedzi referencyjnej: