self
self copied to clipboard
Add ISO8601 time printer to "traits time".
Add ISO8601 time printer printISO8601String
and printISO8601StringGMT
to traits time
.
I use Dart's DateTime API as a reference while implementing this.
Please do not merge this PR by now, as I find that I do not format years correctly, will investigate it later.
Found that in Python year of a datetime object is restricted to between 1 and 9999, and format of calendar dates with year <1 or >10000 is not quite clear in Wikipedia, so currently I only consider formatting for year >=1 and <=9999.
This PR is ready to be considered to be merged now, of course we can improve it in the future when we get 64-bit time.
Btw, as we can not represent dates that before year 1000 in current Self, so those two methods are not fully tested.