On Sunday 15 August 2010 05:36:08 Andrei Alexandrescu wrote: > Thanks for your work, Jonathan. Our decision after the issue with > Tango's date and time was to use Boost's. I'd started std.gregorian as a > seed of a port of Boost's date and time, in the hope that someone will > continue it. Jeff Garland (Boost's date/time author) has been very > supportive in the matter. > > I very strongly suggest to stick with copying Boost's or C++0x's date > and time facilities, unless we find some clearly superior ways > facilitated by D's features. Developing our own date/time library from > scratch risks of being at best just as capable as Boost/C++0x but > guaranteed unfamiliar to everyone. > > > Andrei
Well, I didn't entirely toss out what std.gregorian is up to. I need to look at Boost's stuff in either case, but its internal implementation for date with using the number of days since the beginning of the calendar as its measurement seems to complicate things considerably and end up being less efficient in general. My current implementation is using a split year, month, and day approach. The code is way clearer, and the resulting struct actually takes up less space (6 bytes instead of 8 with all 3 values being shorts or ushorts). Regardless, I'll have to look at Boost's implementation to see exactly what they're up to. My primary concern as a user of a date/time library, however, is that time always be held internally in UTC, and the docs don't give the impression that that's the case for Boost, so if I have a choice in the matter, and they are indeed not keeping time in UTC at all times, I'm going to implement it differently. They're also lacking functions that I've seen in other libraries (like Java) which seem pretty basic - such as the ability to add or subtract months and years to/from a date. So, I'll continue working on it, keeping in mind that you'd like it to more or less follow Boost, and we'll see what you think of it when I'm done. Personally, I'm more familiar with Java's and Qt's libraries, which are a fair bit different from Boost (and different from each other for that matter). I've never used one that I entirely liked though. Regardless, I'd like Phobos' date/time functionality to be powerful, _correct_ (particularly with regards to DST and the like), and user-friendly. - Jonathan M Davis _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
