# Daylight savings time in US

**URL:** <https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640>\
**Category:** Ruby\
**Created:** [February 15, 2007, 4:31am UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640 "2007-02-15T04:31:16Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ernest\_Ellingson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/73ab20/32.png) [@Ernest\_Ellingson](https://www.ruby-forum.com/u/Ernest_Ellingson)\
**Post date:** [February 15, 2007, 4:31am UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640/1 "2007-02-15T04:31:16Z")

</div>

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?

Ernie

---

<div class="post-metadata">

**Author:** ![Ernest\_Ellingson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/73ab20/32.png) [@Ernest\_Ellingson](https://www.ruby-forum.com/u/Ernest_Ellingson)\
**Post date:** [February 15, 2007, 9:05am UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640/2 "2007-02-15T09:05:34Z")

</div>

I’m sure the Time class’ isdst method is making a call into the  
standard C library, first by calling the localtime function and then  
looking at the tm\_isdst field of the returned structure. Therefore it  
depends on which version of the standard C library is being called,  
i.e., what’s installed on the machine you compiled on.

Eric

Interested in hands-on, on-site Ruby training? See http://  
[LearnRuby.com](http://LearnRuby.com)  
for information about a well-reviewed class.

---

<div class="post-metadata">

**Author:** ![Ernest\_Ellingson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/73ab20/32.png) [@Ernest\_Ellingson](https://www.ruby-forum.com/u/Ernest_Ellingson)\
**Post date:** [February 15, 2007, 3:16pm UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640/3 "2007-02-15T15:16:13Z")

</div>

Eric I. wrote:

> for information about a well-reviewed class.

The Ruby version I’m using on windows (1.85) I installed using the  
pre-compiled installation. I don’t know what it used to compile it  
although I’m pretty certain its some version of Microsoft’s compiler.

Ernie

---

<div class="post-metadata">

**Author:** ![Ernest\_Ellingson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/73ab20/32.png) [@Ernest\_Ellingson](https://www.ruby-forum.com/u/Ernest_Ellingson)\
**Post date:** [February 15, 2007, 4:55pm UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640/4 "2007-02-15T16:55:31Z")

</div>

Ernest Ellingson wrote:

> > [LearnRuby.com](http://LearnRuby.com)  
> > for information about a well-reviewed class.
> 
> The Ruby version I’m using on windows (1.85) I installed using the  
> pre-compiled installation. I don’t know what it used to compile it  
> although I’m pretty certain its some version of Microsoft’s compiler.
> 
> Ernie  
> Here’s some more information. I actually have Ruby working correctly in  
> Windows now. I left out an important step in updating a windows  
> machine. First use TZedit.exe (  
> [http://www.softshape.com/download/tzedit.zip](http://www.softshape.com/download/tzedit.zip) )  
> to set the correct dates for DST to begin and end. Then (here’s what I  
> didn’t do) in Control panel choose Date and Time, choose the Time zone  
> tab. Select another time zone other than the one you are in. Click OK  
> Select Date and Time again, choose the Time zone tab. Choose your  
> actual time zone from the drop down list. Click ok. Ruby now works  
> fine.

Ernie

---

<div class="post-metadata">

**Author:** ![Ernest\_Ellingson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/73ab20/32.png) [@Ernest\_Ellingson](https://www.ruby-forum.com/u/Ernest_Ellingson)\
**Post date:** [February 15, 2007, 5:50pm UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640/5 "2007-02-15T17:50:38Z")

</div>

Ken B. wrote:

> > I get correct answers for  
> > t=Time.mktime(2007,3,12)  
> > they’re only just starting to patch. See [http://tinyurl.com/2nqdpf](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

Actually M$ makes an update available for Windows XP and Server 2003.  
However, its an optional update not one that comes out automatically.  
TZedit will work on all versions of windows the updates provided by M$  
will only work on XP and server 2003. A lot of people are going to be  
shocked when their computers don’t adjust.

Ernie

---

<div class="post-metadata">

**Author:** ![Ernest\_Ellingson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/73ab20/32.png) [@Ernest\_Ellingson](https://www.ruby-forum.com/u/Ernest_Ellingson)\
**Post date:** [February 15, 2007, 5:40pm UTC](https://www.ruby-forum.com/t/daylight-savings-time-in-us/85640/6 "2007-02-15T17:40:38Z")

</div>

On Wed, 14 Feb 2007 22:28:58 -0500, Ernest Ellingson wrote:

> t.isdst =\> true  
> 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](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
