From: Ken Bloom Date: 2007-02-16T01:40:10+09:00 Subject: Re: Daylight savings time in US On Wed, 14 Feb 2007 22:28:58 -0500, Ernest Ellingson wrote: > As most of you know the dates when DST begins and ends in the US have > changed. > On Sun. Mar, 11 at 2:00 AM Std time the clocks should move forward 1 hour. > > On Sun. Nov, 4, at 2:00 AM DST the clocks should move back 1 hour. > > I have updated my linux boxes for the new times. > > I get correct answers for > t=Time.mktime(2007,3,12) > t.isdst => true > t=Time.mktime(2007,11,3) > t.isdst => true > t=Time.mktime(2007,11,5) > t.isdst => false > > However, On Windows XP, even though I have updated the settings > for DST, Ruby 1.85 (one click installer) reports incorrectly > > t=Time.mktime(2007,3,12) > t.isdst => false > t=Time.mktime(2007,11,3) > t.isdst => false > > Does this have something to do the machine on which ruby was compiled? > Or does it have some other cause? This has to do with the systemwide timezone database on the system where ruby is running. It appears that Linux has been updated for this for a good long time (i.e. since the bill was signed into law), but Windows they're only just starting to patch. See http://tinyurl.com/2nqdpf for the fix. I'm not sure whether they're going to push this out by Windows Update to you, but it's only been available for about a week now. Long live Linux, whose developers care about the future. --Ken -- Ken Bloom. PhD candidate. Linguistic Cognition Laboratory. Department of Computer Science. Illinois Institute of Technology. http://www.iit.edu/~kbloom1/