SQLite does not recognize "Z" as the zero offset time zone specifier. "Z" (for
'Zulu time', an alternative name for UTC) is part of the ISO 8601 standard for
date and time representations. See http://en.wikipedia.org/wiki/ISO_8601 for
details.
In this regard, SQLite does not currently follow the standard and rejects the
following valid ISO 8601 dates as NULL:
select datetime ('1981-04-06T14:45:15Z');
select datetime ('14:45:15Z');
As far as I can tell, "Z" support only requires a very minor change in date.c,
parseTimezone() to recognize the if the "Z" character is present. No further
timezone modification is necessray.
A test case scenario would be
datetest 5.8 {datetime('1994-04-16 14:00:00Z')} {1994-04-16 14:00:00}
# According to Wikipedia, timezone should directly follow time.
# SQLite, however, allows whitespace inbetween.
# Question: Does this conform to ISO 8601?
datetest 5.9 {datetime('1994-04-16 14:00:00 Z')} {1994-04-16 14:00:00}
# Whitespace after Z.
datetest 5.10 {datetime('1994-04-16 14:00:00Z ')} {1994-04-16 14:00:00}
# Whitespace before and after Z.
datetest 5.11 {datetime('1994-04-16 14:00:00 Z ')} {1994-04-16 14:00:00}
If "Z" timezone support was implemented, I would volunteer to update the date
time function documentation in the SQLite Wiki.
Ralf
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users