Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: Determining if I have a particular Friday off

by thmsdrew (Scribe)
on Nov 06, 2012 at 14:55 UTC ( #1002498=note: print w/ replies, xml ) Need Help??


in reply to Re: Determining if I have a particular Friday off
in thread Determining if I have a particular Friday off

Hey, been busy lately but I finally addressed the problem you pointed out as follows:

#!/usr/bin/perl use strict; use warnings; use Date::Calc qw(check_date Add_Delta_Days Monday_of_Week Week_of_Yea +r Compress Today Date_to_Text Weeks_in_Year); if (check_date(@ARGV)) { # If there are 52 weeks in the year, I have odd Fridays off. # If there are 53, I have even Fridays off. my $mod = (Weeks_in_Year($ARGV[1]) eq 52) ? 2 : 1; my @friday = Add_Delta_Days(Monday_of_Week(Week_of_Year(@ARGV)), 4 +); my ($week, $year) = Week_of_Year(@friday); my $present = Compress(@friday) > Compress(Today()); printf "You %s have %s off.\n", ($present ? "DO" : "DID") . ($week % $mod ? "" : "N'T"), Date_to_Text(@friday); } else { print "Usage.\n"; }


Comment on Re^2: Determining if I have a particular Friday off
Download Code
Re^3: Determining if I have a particular Friday off
by hbm (Hermit) on Nov 06, 2012 at 16:55 UTC
    my $mod = (Weeks_in_Year($ARGV[1]) eq 52) ? 2 : 1; ... ($present ? "DO" : "DID") . ($week % $mod ? "" : "N'T")

    Hmmm. When $mod is 1, % is always zero - and you "DON'T/DIDN'T" have off.

      Hmm yeah, I wasn't thinking. This is a weird case, I'll have to think more about it.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2014-07-29 00:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (210 votes), past polls