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";
}