Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
Keep It Simple, Stupid
 
PerlMonks  

Re: Determining the dayname for the last day of any given month

by greenFox (Vicar)
on Jun 19, 2006 at 12:10 UTC ( #556236=note: print w/ replies, xml ) Need Help??


in reply to Determining the dayname for the last day of any given month

Date::Calc's Day_of_Week function will do exactly what you want. I have the following snippet which I used once before when I could not install Date::Calc. Unfortunately I did not record it's provenance and I googled around and couldn't find it :( I seem to recall it coming from one of our esteemed monks though...

# Return the day (1..7) that the first day of the given month/year fal +ls # on. Uses "Zeller's Confluence", which I don't claim to understand. # sub Day_of_Week { my($year, $month, $day) = @_; # $month in (1..12), $year as YYYY $month-=1; if ( $month < 2 ) { $month += 12; --$year; } my $z1 = (26 * ($month + 2)) / 10; my $z2 = int((125 * $year) / 100); my $day_of_week = ($z1 + $z2 - int($year / 100) + int($year / 400)) +% 7; return $day_of_week ? $day_of_week : 7; }

It would need a wrapper to do what you want, subtract one (previous day) and wrap to seven if result zero...

--
Do not seek to follow in the footsteps of the wise. Seek what they sought. -Basho


Comment on Re: Determining the dayname for the last day of any given month
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://556236]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (10)
As of 2014-04-18 22:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (472 votes), past polls