[tz] Looking for details on timezones “right/…”
jens.troeger at light-speed.de
Sun Jan 29 04:11:34 UTC 2023
Thank you, Robert, for the explanation!
I asked because I was using Hypothesis to generate test data for a function I had written, and some of the generated test data contained the prefixes:
In one particular instance some function runs failed with these prefixed timezones, and it turned out that the host which ran the tests did not have these timezones installed. That’s how I stumbled upon these prefixes… and then wasn’t able to find them documented.
So, I appreciate your sharing some information, thank you!
This raises an interesting point, though: suppose I receive a “genuine UTC” timestamp (i.e. produced on a machine with right/UTC timezone) and then I read that timestamp on a POSIX machine (i.e. with posix/UTC or just UTC timezone) — there is a slim chance that my timestamp has now shifted by one second, correct? And could that be exploited 🤔
With many greetings,
PS: Is there a public link available to this email thread?
> On Jan 18, 2023, at 04:57, Robert Elz <kre at munnari.OZ.AU> wrote:
> Date: Sun, 15 Jan 2023 18:40:27 +0100
> From: =?utf-8?Q?Jens_Tr=C3=B6ger?= via tz <tz at iana.org>
> Message-ID: <2FB37B4F-3F85-4260-8C49-D770591075C6 at light-speed.de>
> | Today I stumbled upon timezone strings like “right/UTC”,
> Many systems don't bother installing those, as they're not usually
> very useful on POSIX systems.
> | I’m unable to find details on the meaning & classification of the
> | “right/” here and how it relates to actual UTC and other timezones.
> The right/* zones convert genuine UTC (that is, the time that occasionally
> steps 23:59:58 23:59:59 23:59:60 00:00:00 00:00:01) with leap seconds
> That's not what you get in a posix time_t - there all days are 86400
> seconds long, no matter what, so a year is always (365 or 366) * 86400
> Only if you get (from somewhere) timestamps that are genuinely in UTC
> and not the POSIX approximation of it you get from gettimeofday() or
> clock_*() or stat(), ... are the right/* zones useful for anything at
> all. Unless you're an astronomer, or rocket engineer, the chances
> of that aren't high.
More information about the tz