On Dec 15, 2009, at 5:36 PM, Ienup Sung wrote:

> Don Cragun wrote at 12/15/09 17:08:
>> Hi Ienup,
>> I support the changes in functionality provided by this case.
>> However, I have a few minor quibbles with the references to ISO 8601
>> in the provided man page updates:
>> 1.  A revision to ISO 8601 was adopted in 2004, so ISO 8601:2000 is
>>    obsolete.
>> 2.  ISO 8601 specifies dozens of "standard date formats" so saying that
>>    %F uses "the ISO 8601:2000 standard date format" is misleading.
>> 3.  It is strange that %F specifies an ISO 8601 Extended format (with '-'
>>    separators between fields) and a %z using Basic format (without a ':'
>>    separator).  ISO 8601 explicitly disallows any date and time
>>    representation where basic and extended formats are mixed; all date,
>>    time, and offset fields must be in basic format, or all of the
>>    fields must be in extended format.
>> From getdate(3c):
>>     %F    Equivalent to %Y-%m-%d (the ISO 8601:2000 standard date            
>> |
>>           format).                                                           
>> |
>> should be:
>>    %F    Equivalent to %Y-%m-%d (the ISO 8601:2004 standard date             
>> |
>>          in extended format).                                                
>> |
>> and:
>>     %z    Offset from UTC in ISO 8601:2000 standard format (+hhmm            
>> |
>>           or -hhmm), or no characters if no time zone is determinable.       
>> |
>> should be:
>>     %z    Offset from UTC in ISO 8601:2004 standard basic format (+hhmm      
>> |
>>           or -hhmm), or no characters if no time zone is determinable.       
>> |
>> The same changes are needed to the %F and %z descriptions in strftime(3c)
>> and strptime(3c).
>> Cheers,
>> Don
> 
> Hello Don,
> 
> Thanks very much for your comment. I updated as you pointed out and
> placed the updated man pages and diff files at the materials directory of
> the case.
> 
> In the previous man pages from me, I didn't update them in this regard
> since XSH6 specs/man pages also appear still referencing ISO 8601:2000
> and in the manner shown in the current man pages (of before this project).
> 
> Ienup
> 

The description of the F conversion specifier in XSH7 is:
"CX  F  Equivalent to %+4Y-%m-%d if no flag and no minimum field width
        are specified.  [tm_year, tm_mon, tm_mday]
 
"CX     If a minimum field width of x is specified, the year shall be
        output as if by the Y specifier (described below) with whatever
        flag was given and a minimum field width of x?6.  If x is less
        than 6, the behavior shall be as if x equalled 6.

"CX     If the minimum field width is specified to be 10, and the year
        is four digits long, then the output string produced will match
        the ISO 8601:2004 standard subclause 4.1.2.2 complete
        representation, extended format date representation of a
        specific day.  If a + flag is specified, a minimum field width
        of x is specified, and x?7 bytes are sufficient to hold the
        digits of the year (not including any needed sign character),
        then the output will match the ISO 8601: 2004 standard
        subclause 4.1.2.4 complete representation, expanded format
        date representation of a specific day."

I was working on the plans for providing SUSv4 conformance to Solaris
next when I was RIFed.  Obviously, these functions all need to be
updated if Sun or Oracle intend to get the next UNIX brand for an
upcoming Solaris release.

 - Don

Reply via email to