Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://556236]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2017-07-23 07:12 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (345 votes). Check out past polls.