Ponieważ timestampz jest zapisywany przez chwilę w czasie ZULU/GMT, który nigdy nie zmienia jego przesunięcia (ponieważ jest to odniesienie), nie jest konieczne nagrywanie strefy czasowej. Musisz tylko dodać/odjąć przesunięcie do przesunięcia strefy czasowej GEOPOLITYCZNEJ w OCZEKIWANIU, OBECNEJ lub PRZYSZŁOŚCI.
You DO musisz znać dokładną strefę czasową GEOPOLITYCZNĄ obowiązującą w miejscu, w którym obecnie obowiązuje ta godzina, dla celów PAST i OBECNYCH.
Dla przyszłych przypadków w czasie może to być bardziej problematyczne. Powinno jednak nadal działać. Pomyśl o zachodzie słońca. Jeśli w niektórych lokalizacjach Ziemia ma zachód słońca o północy czasu ZULU (gdzieś nad Oceanem Atlantyckim lub północną Kanadą na Alasce w zimie na półkuli północnej) i przyjmuje się, że jest to godzina 20.00 (przesunięcie o 4: 00) w tym miejscu o od momentu zarejestrowania go w systemie i zapisania go jako "zimową datę w przyszłości 20:00" zostanie zapisany w bazie danych jako 24:00 GMT.
teraz, że lokalizacja na ziemi dostaje włosy jego * SS i kciuki jego nos w geograficznym powiązanej liczenia czasu i wzywa ich strefa czasowa - „+11: 55”.Więc dla nich, kiedy jest północ w Anglii (GMT północ), CHCĄ nazwać to 11:55, całkowicie ich wybór. Kiedy dowolny komputer chce wyświetlać tę datę w przyszłości dla tej lokalizacji (to jest tej geopolitycznej strefy czasowej), będą ją nazywać 11:55, nawet jeśli zachodzi słońce. I, oczywiście, będzie to dzień AHEAD dnia, w którym to zaplanowałeś :-) Ich problem.
Tak, a pg nazwa typu „timestamp ze strefy czasowej” jest mylące. Informacje rzeczywiście zapisane w bazie danych są takie same jak w przypadku "timestamp without timezone". Jedyne, co się zmienia, to konwersja w czasie do/z UTC z dowolną strefą czasową na świecie. Tak więc znacznik czasu pg ze strefą czasową "NIE ZAPISUJ informacji o strefie czasowej. – vaab