suggested improvements for C9x `New formats for strftime()' (N733)

Paul Eggert eggert at
Wed Jul 9 02:39:29 UTC 1997

   Date: Mon, 07 Jul 1997 11:12:06 +0200
   From: Antoine Leca <Antoine.Leca at>

   There is a difference between %V, showing
   the week number _in_the_year_ based on Monday, the first Thrusday
   being in week 01 (and thus able to be 00), and the real ISO 8601
   week number, %#W (restricted in range to 01-53).

There is certainly a difference in the two concepts that you describe,
but %V is supposed to be the ISO 8601 week number.
The ISO 8601 week number can never be zero, so it must be a typo when
ISO/IEC JTC1/SC22/WG14 N733 says that %V can be 00.

As far as I can tell, the correspondence is as follows:

        N733    N735    POSIX.2  usage  meaning
        %f      %#w     %u      %u      ISO 8601 weekday number
        %V      %#W     %V      %V      ISO 8601 week number
                %#Y             %G      ISO 8601 week number year
                %#y             %g      ISO 8601 week number year modulo 100
                %#Z             %z      timezone using RFC-822 numeric notation

I don't know why the C9X draft diverges so far from common usage (not
to mention POSIX.2), but at least N735 provides the needed functionality.

   So we probably need two specifiers, instead of one in current art.

I don't see the need for a week number that is like ISO 8601's but is
sometimes zero.

More information about the tz mailing list