Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Date::Calc DST - is this a bug?

by fbicknel (Sexton)
on Dec 11, 2012 at 20:57 UTC ( #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? :)

Comment on Date::Calc DST - is this a bug?
Select or Download Code
Re: Date::Calc DST - is this a bug?
by fbicknel (Sexton) 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.
Re: Date::Calc DST - is this a bug?
by ww (Bishop) on Dec 11, 2012 at 23:06 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
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? | Other CB clients
Other Users?
Others lurking in the Monastery: (11)
As of 2015-07-06 07:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls