Since the timestampz is restored momentarily during the ZULU / GMT time, which never changes its offset (since it is a reference), there is no need to record the time zone. You only need to add / subtract the offset to the offset time zone GEOPOLITICAL in PAST, PRESENT or FUTURE.
You need to know the exact GEOPOLITICAL TIME in effect at the place to which the current time applies for the purposes of PAST and PRESENT.
For future cases over time, this may become more problematic. It should work anyway. Think of the sunset. If in some place on Earth there is sunset @ midnight time ZULU (somewhere above the Atlantic Ocean or Northern Canada to Alaska in the winter in the Northern Hemisphere), and this time is considered equal to 8:00 (offset -4: 00) in this place on as soon as you record it in the system, and write it as โwinter-date-in-the-future 8:00 PMโ, it will be recorded as 24:00 GMT in the database.
Now, this place on earth receives hair up its * ss and previews with its nose according to a schedule related to geographic time, and calls their time zone โ+11: 55โ. Therefore, for them, when at midnight in England (midnight at midnight), WANT to call it 11:55 in the morning, it is their choice. When any computer wants to display this date in the future for this location (i.e. This geopolitical time zone), they will call it 11:55 in the morning, even if the sun is setting. And, of course, THIS WILL BE AN ADULTS DAY of the day you planned it :-) Their problem.
Dennis
source share