Forum: Ruby Daylight savings time in US

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
19ae7146e93fdd021fffb1350ae75977?d=identicon&s=25 Ernest Ellingson (Guest)
on 2007-02-15 04:31
(Received via mailing list)
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
B09f99b655b96fd4130aafd04531f6f1?d=identicon&s=25 Eric I. (Guest)
on 2007-02-15 09:05
(Received via mailing list)
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
for information about a well-reviewed class.
19ae7146e93fdd021fffb1350ae75977?d=identicon&s=25 Ernest Ellingson (Guest)
on 2007-02-15 15:16
(Received via mailing list)
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
19ae7146e93fdd021fffb1350ae75977?d=identicon&s=25 Ernest Ellingson (Guest)
on 2007-02-15 16:55
(Received via mailing list)
Ernest Ellingson wrote:
>> 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 )
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
851acbab08553d1f7aa3eecad17f6aa9?d=identicon&s=25 Ken Bloom (Guest)
on 2007-02-15 17:40
(Received via mailing list)
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 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
19ae7146e93fdd021fffb1350ae75977?d=identicon&s=25 Ernest Ellingson (Guest)
on 2007-02-15 17:50
(Received via mailing list)
Ken Bloom wrote:
>> I get correct answers for
>> t=Time.mktime(2007,3,12)
> 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
>
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
This topic is locked and can not be replied to.