On 2010-05-01 21:38:06 -0400, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> said:
I just committed a first draft of std.gregorian. The design and the
code are copied from Jeff Garland's Boost date and time library. Once
we get the library in shape and I discuss the matter with Jeff, I'll
insert the proper attributions in the file.
http://dsource.org/projects/phobos/browser/trunk/phobos/std/gregorian.d
For the record I am stating that I have never looked at the Tango
design or implementation of dates and times or in general.
There's plenty more to do. It would be great if others could continue
this work, to which I can't dedicate much more time. Until the ongoing
issue finds a solution, only people who have not looked at Tango date
and time should work on std.gregorian.
Nice. A few comments:
1. About:
@property string toIsoString() const;
@property string toIsoExtendedString() const;
In my experience with boost, I've found these two quite useless, if not
misleading. There are so many ways to format dates in an ISO-compatible
format that nine times out of ten theses functions won't fit what
you're doing because you'll want a slightly different string, yet still
ISO-formatted. I don't remember the specifics, but I know there is a
lot of room for improvement there.
2. We're still missing a way to store time values. I've made something
a while back to that end, a small module named "time" to store time
values in any the most common time units, with any precision. Perhaps
it's worth a look (it has no license yet, but consider it
boost-licensed):
http://michel.com/docs/d/mfr/time.d
If someone wants to adapt it for Phobos, I'll be glad it helped. It
needs to be switched to the new operator overloading regime, and it
misses a few unittests. And it's only a storage format: you'll want to
be able to get the current local and UTC time (although that's already
in std.date).
That said, I wonder if it might not be a little too much template-heavy
for a standard library. This gives much versatility, but do we really
gain from it? I'm not sure.
--
Michel Fortin
michel.for...@michelf.com
http://michelf.com/