strftime: Set the default width of "%Ey" to 2 [BZ #23758]
authorTAMUKI Shoichi <tamuki@linet.gr.jp>
Thu, 24 Jan 2019 14:00:53 +0000 (23:00 +0900)
committerTAMUKI Shoichi <tamuki@linet.gr.jp>
Thu, 24 Jan 2019 14:00:53 +0000 (23:00 +0900)
commitb22eed371086b297adf9c1509850649de883d77b
tree4a834b782567b86e19bafb4ff0b9e1b7749bc0a1
parent3367acdb344a1d7fcf8f53748d301d652c8911dd
strftime: Set the default width of "%Ey" to 2 [BZ #23758]

In Japanese locales, strftime's alternative year format (%Ey) produces
a year numbered within a time period called an _era_.  A new era
typically begins when a new emperor is enthroned.  The result of "%Ey"
is therefore usually a one- or two-digit number.

Many programs that display Japanese era dates assume that the era year
is two digits wide.  To improve how these programs display dates
during the first nine years of a new era, change "%Ey" to pad one-
digit numbers on the left with a zero.  This change applies to all
locales.  It is expected to be harmless for other locales that use the
alternative year format (e.g. lo_LA and th_TH, in which "%Ey" produces
the year of the Buddhist calendar) as those calendars' year numbers
are already more than two digits wide, and this is not expected to
change.

This change needs to be in place before 2019-05-01 CE, as a new era is
scheduled to begin on that date.

Reviewed-by: Zack Weinberg <zackw@panix.com>
Reviewed-by: Rafal Luzynski <digitalfreak@lingonborough.com>
ChangeLog:

[BZ #23758]
* manual/time.texi (strftime): Document "%Ey".
* time/strftime_l.c (__strftime_internal): Set the default width
padding with zero of "%Ey" to 2.
ChangeLog
NEWS
manual/time.texi
time/strftime_l.c