russellallen / self

Making the world safe for objects
http://selflanguage.org
709 stars 76 forks source link

Add ISO8601 time printer to "traits time". #100

Open dram opened 8 years ago

dram commented 8 years ago

Add ISO8601 time printer printISO8601String and printISO8601StringGMT to traits time.

I use Dart's DateTime API as a reference while implementing this.

dram commented 8 years ago

Please do not merge this PR by now, as I find that I do not format years correctly, will investigate it later.

dram commented 8 years ago

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.

dram commented 8 years ago

Btw, as we can not represent dates that before year 1000 in current Self, so those two methods are not fully tested.