Wouldn't MCK+4 be interpreted by a POSIX TZ variable as 4 hours behind UTC? That seems like it would be quite confusing, especially since it's just a numerical reference to a different zone (i.e. I don't see how it's any better than naming the zone by its offset, in the absence of a proper local practice). On May 26, 2016 9:44:22 AM EDT, Random832 <random832@fastmail.com> wrote:
On Thu, May 26, 2016, at 07:18, Victor Sudakov wrote:
Look at the law: the official time zone name for Tomsk is: 6-я часовая зона (If utf-8 is working, then you'll see Russian in Cyrillic letters.) The English translation is: 6th hourly zone (6th timezone).
This same law "107-ФЗ Об исчислении времени" also provides an official alias "МСК+4" for this timezone. But we cannot use non-ascii characters for time zone names in tzdata, can we?
If "МСК+#"-style abbreviations were *official*, I think that should be enough justification to use "MSK+#"-style ascii abbreviations. However, the context they appear in in the law seems informational to me; it's in the same parentheses as UTC+#.
Oddly enough, nothing in the C or POSIX/Unix standards *actually* says anything about time zone names (which are consistently referred to as names, not abbreviations) being abbreviated. It's merely inferred from historical practice, along with the fact that in POSIX in the TZ variable they (obnoxiously, for no stated reason) cannot contain spaces. This prohibition does *not* extend to what may appear in tzname if TZ is in the :tzid format.
Incidentally, MSVC's time functions on Windows use fully spelled out names.