I was wondering about the current status of std.gregorian. It's listed on the left hand side of the docs on the digital mars website, but the actual page isn't there. Looking at the current code, there are a lot of functions which are stubbed out with no code other than assert(0). Is anyone actively working on it?
As for its design, it looks like it's holding the number of days as a ulong with nothing more precise than that. I would have expected a time_t or equivalent with the number of seconds or milliseconds since the epoch. So, that makes it look like it doesn't care about anything more precise than days, which would be insanely limiting if it's supposed to be replacing the buggy std.date. I'm not quite sure what the overall design plan is for std.gregorian, but due to having to deal with various time-related issues at work, I'm 100% convinced that the correct way to write time code is to have _everything_ in UTC until you actually need it in local time, and at that point you do a conversion (likely to a string); the time/date class however would _always_ be in UTC internally. I've seen way too many timezone and DST issues to think that any other way of doing it makes sense. time_t is always in UTC, though unfortunately most of the posix functions (and likely Windows API functions as well) translate to local time when converting time_t to anything else, which makes it quite easy to introduce conversion bugs into code (especially when DST rolls around). In any case, what's the current game plan for std.gregorian? I'm willing to work on it help is needed, though as I said, I'd be highly interested in a design which retains UTC for everything until you ask for local time (or at minimum really kept its internals as UTC even if most of the functions were giving you information related to local time), and I don't get the impression that that was quite what std.gregorian is currently designed to do (though it doesn't even seem to include seconds, let alone milliseconds, so I'm not quite sure what the goal of std.gregorian is). Honestly, if there is no time stuff in Phobos which always retains its time in UTC, I'm likely to go and write my own which does, because I'm so sick of time-related bugs in the code that I've dealt with. - Jonathan M Davis _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
