Subject: Re: bug#10182: Century bug in date utility?

From: Eric Blake <[email-masked]>
Date: Thu, 01 Dec 2011 10:35:31 -0700

tag 10182 notabug
thanks

On 12/01/2011 08:34 AM, Krzysztof Kowalski wrote:
> Hello,
> 
> We have 2011,
> 
> HOWEVER:
> 
> korn% date +%C
> 20
> korn% date
> Thu Dec  1 16:26:30 CET 2011

Yep.  And this behavior is mandated by POSIX for strftime(), so it is
not a bug.

http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html

C
    Replaced by the year divided by 100 and truncated to an integer, as
a decimal number. [ tm_year]

That is, it is NOT the "century" in the vernacular (where years in the
range [2001,2100] are collectively called the 21st century), but the
first two digits of the year.  The idea is that you combine %C%y to form %Y.

> 
> For a test I changed system time to 1997 and date utility returned 20
> century as well :)

No, %C in 1997 returned 19.

-- 
Eric Blake   [email-masked]    +1-919-301-3266
Libvirt virtualization library http://libvirt.org