use Date::Calc qw

all);
use Date::Calendar;
$MyHolidays =
{
"Independence Day" => "04.07."
};
@MyYears = (1998,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010);
$calendar = Date::Calendar->new( $MyHolidays );
foreach $yearselected (@MyYears) {
$calendar->year( $yearselected );
@list = $calendar->search( "Independence Day" );
}
print '|' . '=' x 70 . "|\n";
foreach $date (@list){
@labels = $calendar->labels( $date );
$dow = shift(@labels);
foreach $person (@labels) {
printf
(
" Independence Day year %4s %3.3s %2d-%3.3s-%4d%s\n",
$date->year(),
$dow,
$date->day(),
Month_to_Text($date->month()),
$date->year(),
);
$anio=$date->year();
$dia= $date->day();
$mes= $date->month();
my ($yesteryear,$yestermonth,$yesterday) = Add_Delta_Days($anio,$mes,$dia, -1);
$yestermonth= Month_to_Text($yestermonth);
@previousday= $calendar->labels( $date-1 );
$previousday= shift(@previousday);
print " A day before independence day year $yesteryear was $previousday $yesterday-$yestermonth $yesteryear \n";
print '|' . '=' x 70 . "|\n";
}
}
Output:
|======================================================================|
Independence Day year 1998 Sat 4-Jul-1998
A day before independence day year 1998 was Friday 3-July 1998
|======================================================================|
Independence Day year 2000 Tue 4-Jul-2000
A day before independence day year 2000 was Monday 3-July 2000
|======================================================================|
Independence Day year 2001 Wed 4-Jul-2001
A day before independence day year 2001 was Tuesday 3-July 2001
|======================================================================|
Independence Day year 2002 Thu 4-Jul-2002
A day before independence day year 2002 was Wednesday 3-July 2002
|======================================================================|
Independence Day year 2003 Fri 4-Jul-2003
A day before independence day year 2003 was Thursday 3-July 2003
|======================================================================|
Independence Day year 2004 Sun 4-Jul-2004
A day before independence day year 2004 was Saturday 3-July 2004
|======================================================================|
Independence Day year 2005 Mon 4-Jul-2005
A day before independence day year 2005 was Sunday 3-July 2005
|======================================================================|
Independence Day year 2006 Tue 4-Jul-2006
A day before independence day year 2006 was Monday 3-July 2006
|======================================================================|
Independence Day year 2007 Wed 4-Jul-2007
A day before independence day year 2007 was Tuesday 3-July 2007
|======================================================================|
Independence Day year 2008 Fri 4-Jul-2008
A day before independence day year 2008 was Thursday 3-July 2008
|======================================================================|
Independence Day year 2009 Sat 4-Jul-2009
A day before independence day year 2009 was Friday 3-July 2009
|======================================================================|
Independence Day year 2010 Sun 4-Jul-2010
A day before independence day year 2010 was Saturday 3-July 2010
|======================================================================|
dmazzini
GSM System and Telecomm Consultant