[tz] Looking for details on timezones “right/…”

Jens Tröger 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
> counted.
> 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
> seconds.
> 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.
> kre

Jens Tröger

More information about the tz mailing list