[tz] [PROPOSED] Remove old Y2K code

Brian Inglis Brian.Inglis at SystematicSw.ab.ca
Tue Jun 13 04:06:13 UTC 2017

On 2017-06-12 17:30, Paul Eggert wrote:
> The circa-1996 runtime tests to catch potential Y2K problems are
> no longer worth the maintenance hassle, as the Y2K transition was
> done many years ago.
> * Makefile, NEWS: Mention this.
> * strftime.c (YEAR_2000_NAME, IN_NONE, IN_SOME, IN_THIS, IN_ALL):
> Remove.  All uses removed.
> (strftime): Do not warn about Y2K problems.
> (_fmt): Omit last (warning) arg; all uses changed.

Please reconsider removing this, and change it if necessary to
DEPRECATE_TWO_DIGIT_YEARS, as the lessons have not been learned, and
that nasty habit has persisted and spread, with more programs generating
two digit years and months and days, resulting in confusion on ~.4 of
the dates in each year, and ~.666 of the last 18 years, unless you
happen to know the project's rules or program's locale (if they even
support locales) with certainty.

Personally I would like to see any use of %y dropped, declared UB, or at
least unspecified behaviour, with the options of treating it as %Y, or
deletion of the source file containing it, unless suppressed by a
directive such as #pragma BONEHEAD_SINCE_EPOCH, when it should have been

Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

More information about the tz mailing list