At 12:24 PM -0500 12/12/02, Russell Hires wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Agreed, and we are doing the basics (rdate daemon). But the central issue remains: How do I convince MySQL to store dates as GMT, not local time? Judging from the Now() test I just did, the only solution is to change the system time to GMT. So you're using Linux. Couldn't you write a trigger that gets the hwclock() time?
Why are you having MySQL keep up with the time? Why not just deal with ZopeTime, then subtract the appropriate amount of time based on whether it's DST or not?
The database should store times as GMT - this is a good idea simply because it gets rid of representation issues and silly problems like DST. Time zones then become simply a display issue and times in the database are well behaved and absolute.
After all, how does your computer know when to change its clock (to DST or back)?
My computer (at least on Linux) does not change its clock at all - all it does is change the string that is displayed. That string depends upon the system time zone. The problem is that while Zope's DateTime class is smart and understands absolute time and how to represent it in a particular time zone, MySQL does _not_ understand absolute time and makes assumptions that are not very robust, e.g. what happens to stored dates if you move the machine to another time zone? So, the question remains: Does anyone have a goo way to get MySQL and/or its Zope DB adapter to handle dates in GMT rather than local time? TIA, Sincerely, Richard Wesley Co-President, Electric Fish, Inc. <http://www.electricfish.com/> (v) +1-206-493-1690x210 (f) +1-206-493-1697