Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Date::Calc DST - is this a bug?

by fbicknel (Beadle)
on Dec 11, 2012 at 20:57 UTC ( [id://1008401]=perlquestion: print w/replies, xml ) Need Help??

fbicknel has asked for the wisdom of the Perl Monks concerning the following question:

See my reply to myself.... but I'll leave this here as a model of what not to do. *blush*

Is this a bug or is it not documented properly?

Documentation for Gmtime() says:

The daylight savings time flag ("$dst") will be "-1" if this information is not available on your system, "0" for no daylight savings time (i.e., winter time) and "1" when daylight savings time is in effect.

This isn't clear: if it means "dst is in effect NOW on your system", then it accurately depicts what happens when you try this code:

#!/usr/bin/perl use Date::Calc qw (:all); $summer_time = Mktime (2012, 7, 3, 1, 48, 0); $winter_time = Mktime (2012, 12, 3, 1, 48, 0); ($year,$month,$day, $hour,$min,$sec, $doy,$dow,$dst) = Gmtime ($summer_time); print "Summer: $year,$month,$day,$hour,$min,$sec,$doy,$dow,$dst\n"; ($year,$month,$day,$hour,$min,$sec,$doy,$dow,$dst) = Gmtime ($winter_time); print "Winter: $year,$month,$day,$hour,$min,$sec,$doy,$dow,$dst\n"; __END__ Results: Summer: 2012,7,3,5,48,0,185,2,0 Winter: 2012,12,3,6,48,0,338,1,0

Note the last $dst value in each list returned is always 0. My guess is that if I wait about 6 months and try again, it will always return 1.

What I was hoping for was a flag that was set based on the time requested, as apparently all the other fields in the input portray.

I mean, what good would it do if I asked for Gmtime ($winter_time) and it returned the current year instead of the year I asked for? :)

Replies are listed 'Best First'.
Re: Date::Calc DST - is this a bug?
by ww (Archbishop) on Dec 11, 2012 at 23:06 UTC
Re: Date::Calc DST - is this a bug?
by fbicknel (Beadle) on Dec 11, 2012 at 21:01 UTC
    How about that. Read a little further and Localtime() provides the same flag. But this time it works as expected.

    Sorry, I jumped on the first thing I found, now.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1008401]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2024-04-19 19:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found