Hello, On Fri, Jul 13, 2007 at 22:22:58 +0200, Robin Rosenberg wrote: > + else if (mode == DATE_ISO8601) > + sprintf(timebuf, "%04d-%02d-%02d %02d:%02d:%02d %+05d", > + tm->tm_year + 1900, > + tm->tm_mon + 1, > + tm->tm_mday, > + tm->tm_hour, tm->tm_min, tm->tm_sec, > + tz); I apologise for nitpicking, but ISO 8601 (and RFC 3339) says separator between date and time is 'T' and there is no separator between time and timezone. So this should be + sprintf(timebuf, "%04d-%02d-%02dT%02d:%02d:%02d%+05d", for 100% conformance to the standard. RFC 3339 explicitely mentions using space instead of 'T' as separator as allowed, but does not seem to mention space before time zone. There may be applications that would stop at such space and assume no timezone information. Furthermore RFC 3339 seems to require colon in the timezone, so it would be: + sprintf(timebuf, "%04d-%02d-%02dT%02d:%02d:%02d%+03d:%02d", + tm->tm_year + 1900, + tm->tm_mon + 1, + tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec, + tz / 100, abs(tz % 100)); ISO 8601 makes separators optional, so simple 4-digit timezone is OK. -- Jan 'Bulb' Hudec <bulb@xxxxxx>
Attachment:
signature.asc
Description: Digital signature