Server IP : 184.154.167.98 / Your IP : 3.145.166.108 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.26 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl5/vendor_perl/Date/Calendar/ |
Upload File : |
############################################################################### ## ## ## Copyright (c) 2000 - 2015 by Steffen Beyer. ## ## All rights reserved. ## ## ## ## This package is free software; you can redistribute it ## ## and/or modify it under the same terms as Perl itself. ## ## ## ############################################################################### package Date::Calendar::Profiles; BEGIN { eval { require bytes; }; } use strict; use vars qw( @ISA @EXPORT @EXPORT_OK $VERSION $Profiles ); require Exporter; @ISA = qw(Exporter); @EXPORT = qw(); @EXPORT_OK = qw( $Profiles &Previous_Friday &Next_Monday &Next_Monday_or_Tuesday &Nearest_Workday &Sunday_to_Monday &Advent1 &Advent2 &Advent3 &Advent4 &Advent ); $VERSION = '6.4'; use Date::Calc qw(:all); use Carp::Clan qw(^Date::); ########################################################################## # # # Moving ("variable") holidays depending on the date of Easter Sunday: # # # # Weiberfastnacht, Fettdonnerstag = -52 days # # Carnival Monday / Rosenmontag / Veille du Mardi Gras = -48 days # # Mardi Gras / Karnevalsdienstag / Mardi Gras = -47 days # # Ash Wednesday / Aschermittwoch / Mercredi des Cendres = -46 days # # Palm Sunday / Palmsonntag / Dimanche des Rameaux = -7 days # # Maundy Thursday / Gruendonnerstag / Jeudi avant Paques = -3 days # # Good Friday / Karfreitag / Vendredi Saint = -2 days # # Easter Saturday / Ostersamstag / Samedi de Paques = -1 day # # Easter Sunday / Ostersonntag / Dimanche de Paques = +0 days # # Easter Monday / Ostermontag / Lundi de Paques = +1 day # # Prayer Day / Bettag / Jour de la Priere (Denmark) = +26 days # # Ascension of Christ / Christi Himmelfahrt / Ascension = +39 days # # Whitsunday / Pfingstsonntag / Dimanche de Pentecote = +49 days # # Whitmonday / Pfingstmontag / Lundi de Pentecote = +50 days # # Feast of Corpus Christi / Fronleichnam / Fete-Dieu = +60 days # # # ########################################################################## ############################################### # # # Rules to enhance readability: # # # # 1) First level constants in single quotes, # # second level constants in double quotes. # # 2) Use leading zeros for fixed length. # # # ############################################### ##################### # Global variables: # ##################### $Profiles = { }; ############################### # Global utility subroutines: # ############################### sub Previous_Friday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday or Sunday, use previous Friday instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,-1); } elsif ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,-2); } return($yy,$mm,$dd,@_); } sub Next_Monday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday, use following Monday instead; # if holiday falls on Sunday, use day thereafter (Monday) instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+2); } elsif ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } sub Next_Monday_or_Tuesday # For second holiday of two adjacent ones! { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday, use following Monday instead; # if holiday falls on Sunday or Monday, use next Tuesday instead # (because Monday is already taken by adjacent holiday on the day before): $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6 or $dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+2); } elsif ($dow == 1) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } sub Nearest_Workday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Saturday, use day before (Friday) instead; # if holiday falls on Sunday, use day thereafter (Monday) instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 6) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,-1); } elsif ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } sub Sunday_to_Monday { my($yy) = shift; my($mm) = shift; my($dd) = shift; my($dow); # If holiday falls on Sunday, use day thereafter (Monday) instead: $dow = Day_of_Week($yy,$mm,$dd); if ($dow == 7) { ($yy,$mm,$dd) = Add_Delta_Days($yy,$mm,$dd,+1); } return($yy,$mm,$dd,@_); } ###################################### # Global utility callback functions: # ###################################### sub Advent1 { my($year,$label) = @_; return( Add_Delta_Days($year,12,25, -(Day_of_Week($year,12,25)+21)), '#' ); } sub Advent2 { my($year,$label) = @_; return( Add_Delta_Days($year,12,25, -(Day_of_Week($year,12,25)+14)), '#' ); } sub Advent3 { my($year,$label) = @_; return( Add_Delta_Days($year,12,25, -(Day_of_Week($year,12,25)+7)), '#' ); } sub Advent4 { my($year,$label) = @_; return( Add_Delta_Days($year,12,25, -Day_of_Week($year,12,25)), '#' ); } sub Advent { my($year,$label) = @_; my($offset); $offset = (4 - substr($label,0,1)) * 7; return( Add_Delta_Days($year,12,25, -(Day_of_Week($year,12,25)+$offset)), '#' ); } ################### # Local profiles: # ################### $Profiles->{'DE'} = # Deutschland { # For labeling only (defaults, may be overridden): "Dreik�nigstag" => "#06.01.", "Valentinstag" => "#14.02.", "Weltfrauentag" => "#08.03.", "Josephstag" => "#19.03.", "Fr�hlingsanfang" => "#20.03.", "Sommeranfang" => "#21.06.", "Herbstanfang" => "#23.09.", "Winteranfang" => "#21.12.", "Beginn d. Sommerzeit" => "#5/Sun/Mar", "Fettdonnerstag" => "#-52", "Weiberfastnacht" => "#-52", "Rosenmontag" => "#-48", "Karnevalsdienstag" => "#-47", "Aschermittwoch" => "#-46", "Palmsonntag" => "#-7", "Gr�ndonnerstag" => "#-3", "Karfreitag" => "#-2", "Karsamstag" => "#-1", "Muttertag" => "#2/Sun/May", "Vatertag" => "#2/Sun/Aug", "Peter und Paul" => "#29.06.", "Fronleichnam" => "#+60", "Mari� Himmelfahrt" => "#15.08.", "Erntedankfest" => "#1/Sun/Oct", "Ende d. Sommerzeit" => "#5/Sun/Oct", "Reformationstag" => "#31.10.", "Allerheiligen" => "#01.11.", "Allerseelen" => "#02.11.", "Martinstag" => "#11.11.", "Mari� Empf�ngnis" => "#08.12.", "Bu�- und Bettag" => \&DE_Buss_und_Bettag2, "Volkstrauertag" => \&DE_Volkstrauertag, "Totensonntag" => \&DE_Totensonntag, "1. Advent" => \&Advent, "2. Advent" => \&Advent, "3. Advent" => \&Advent, "4. Advent" => \&Advent, "Nikolaus" => "#06.12.", "Heiligabend" => "#24.12.", "Sylvester" => "#31.12.", # Common legal holidays (in all federal states): "Neujahr" => "01.01.", "Karfreitag" => "-2", "Ostersonntag" => "+0", "Ostermontag" => "+1", "Tag der Arbeit" => "01.05.", "Christi Himmelfahrt" => "+39", "Pfingstsonntag" => "+49", "Pfingstmontag" => "+50", "Tag der deutschen Einheit" => "03.10.", "1. Weihnachtsfeiertag" => "25.12.", "2. Weihnachtsfeiertag" => "26.12." }; $Profiles->{'DE-BW'} = # Baden-W�rttemberg { %{$Profiles->{'DE'}}, "Dreik�nigstag" => "06.01.", "Fronleichnam" => "+60", "Allerheiligen" => "01.11." }; $Profiles->{'DE-BY'} = # Bayern { %{$Profiles->{'DE'}}, "Dreik�nigstag" => "06.01.", "Fronleichnam" => "+60", "Mari� Himmelfahrt" => "15.08.", "Allerheiligen" => "01.11." }; $Profiles->{'DE-BE'} = # Berlin { %{$Profiles->{'DE'}} }; $Profiles->{'DE-BB'} = # Brandenburg { %{$Profiles->{'DE'}}, "Reformationstag" => "31.10." }; $Profiles->{'DE-HB'} = # Bremen { %{$Profiles->{'DE'}} }; $Profiles->{'DE-HH'} = # Hamburg { %{$Profiles->{'DE'}} }; $Profiles->{'DE-HE'} = # Hessen { %{$Profiles->{'DE'}}, "Fronleichnam" => "+60" }; $Profiles->{'DE-MV'} = # Mecklenburg-Vorpommern { %{$Profiles->{'DE'}}, "Reformationstag" => "31.10." }; $Profiles->{'DE-NI'} = # Niedersachsen { %{$Profiles->{'DE'}} }; $Profiles->{'DE-NW'} = # Nordrhein-Westfalen { %{$Profiles->{'DE'}}, "Fronleichnam" => "+60", "Allerheiligen" => "01.11." }; $Profiles->{'DE-RP'} = # Rheinland-Pfalz { %{$Profiles->{'DE'}}, "Fronleichnam" => "+60", "Allerheiligen" => "01.11." }; $Profiles->{'DE-SL'} = # Saarland { %{$Profiles->{'DE'}}, "Fronleichnam" => "+60", "Mari� Himmelfahrt" => "15.08.", "Allerheiligen" => "01.11." }; $Profiles->{'DE-SN'} = # Sachsen { %{$Profiles->{'DE'}}, "Reformationstag" => "31.10.", "Bu�- und Bettag" => \&DE_Buss_und_Bettag }; $Profiles->{'DE-ST'} = # Sachsen-Anhalt { %{$Profiles->{'DE'}}, "Dreik�nigstag" => "06.01.", "Reformationstag" => "31.10." }; $Profiles->{'DE-SH'} = # Schleswig-Holstein { %{$Profiles->{'DE'}} }; $Profiles->{'DE-TH'} = # Th�ringen { %{$Profiles->{'DE'}}, "Reformationstag" => "31.10." }; # Alternative: # Buss- und Bettag = 1. Advent - 11 Tage # 1. Advent = 4. Advent - 21 Tage (3 Wochen) # 4. Advent = letzter Sonntag vor dem 25.12. # (Beide Alternativen sind auf dem Definitionsbereich # [1583..2299] aequivalent!) #sub DE_Buss_und_Bettag #{ # my($year,$label) = @_; # return( Add_Delta_Days($year,12,25, # -(Day_of_Week($year,12,25)+32)) ); #} sub DE_Buss_und_Bettag # Dritter Werktags-Mittwoch im November { my($year,$label) = @_; if (Day_of_Week($year,11,1) == 3) { return( Nth_Weekday_of_Month_Year($year,11,3,4) ); } else { return( Nth_Weekday_of_Month_Year($year,11,3,3) ); } } sub DE_Buss_und_Bettag2 { return( &DE_Buss_und_Bettag(@_), '#' ); } sub DE_Volkstrauertag { my($year,$label) = @_; return( Add_Delta_Days($year,12,25, -(Day_of_Week($year,12,25)+35)), '#' ); } sub DE_Totensonntag { my($year,$label) = @_; return( Add_Delta_Days($year,12,25, -(Day_of_Week($year,12,25)+28)), '#' ); } # Thanks to: # David Cassell <cassell@mercury.cor.epa.gov> # Larry Rosler <lr@hpl.hp.com> # Anthony Argyriou <anthony@alphageo.com> # Philip Newton <pne@writeme.com> # Joe Rice <riceja@water-melon.net> # Sridhar Gopal <sridhar.gopal@bankofamerica.com> $Profiles->{'US'} = # United States of America { # For labeling only (defaults, may be overridden): "Valentine's Day" => "#Feb/14", "Maundy Thursday" => "#-3", "Good Friday" => "#-2", "Election Day" => \&US_Election, # Common legal holidays (in all federal states): "New Year's Day" => \&US_New_Year, "Martin Luther King's Birthday" => "3/Mon/Jan", "Civil Rights Day" => "#3/Mon/Jan", # Thanks to Michael G. Schwern <mschwern@cpan.org> "Human Rights Day" => "#3/Mon/Jan", # and http://en.wikipedia.org/wiki/Martin_Luther_King_Day "President's Day" => "3/Mon/Feb", "Washington's Birthday" => "#3/Mon/Feb", # Thanks to Michael G. Schwern <mschwern@cpan.org> "Memorial Day" => "5/Mon/May", "Independence Day" => \&US_Independence, "Labor Day" => "1/Mon/Sep", "Columbus Day" => "2/Mon/Oct", "Halloween" => "#Oct/31", "All Saints Day" => "#Nov/1", "All Souls Day" => "#Nov/2", "Veterans' Day" => \&US_Veteran, "Thanksgiving Day" => "4/Thu/Nov", "Christmas Day" => \&US_Christmas, # Federal observances (thanks to http://en.wikipedia.org/wiki/US_holidays): "Inauguration Day" => "#Jan/20", "Super Bowl Sunday" => "#1/Sun/Feb", "Groundhog Day" => "#Feb/2", "St. Patrick's Day" => "#Mar/17", "Earth Day" => "#Apr/22", "Cinco de Mayo" => "#May/5", "Mother's Day" => "#2/Sun/May", "Father's Day" => "#3/Sun/Jun", "Pearl Harbor Remembrance Day" => "#Dec/7", "Winter Solstice" => "#Dec/21", "Christmas Eve" => "#Dec/24", "New Year's Eve" => "#Dec/31" }; sub US_New_Year # First of January { my($year,$label) = @_; return( &Next_Monday($year,1,1) ); } sub US_Independence # Fourth of July { my($year,$label) = @_; return( &Nearest_Workday($year,7,4) ); } sub US_Labor # First Monday after the first Sunday in September { my($year,$label) = @_; return( Add_Delta_Days( Nth_Weekday_of_Month_Year($year,9,7,1), +1) ); } sub US_Election # First Tuesday after the first Monday in November { my($year,$label) = @_; return( Add_Delta_Days( Nth_Weekday_of_Month_Year($year,11,1,1), +1), '#' ); } sub US_Veteran # 11th of November { my($year,$label) = @_; return( &Nearest_Workday($year,11,11) ); } sub US_Christmas # 25th of December { my($year,$label) = @_; return( &Next_Monday($year,12,25) ); } $Profiles->{'US-AK'} = # Alaska { %{$Profiles->{'US'}} }; $Profiles->{'US-AL'} = # Alabama { %{$Profiles->{'US'}} }; $Profiles->{'US-AR'} = # Arkansas { %{$Profiles->{'US'}} }; $Profiles->{'US-AS'} = # American Samoa { %{$Profiles->{'US'}} }; $Profiles->{'US-AZ'} = # Arizona { %{$Profiles->{'US'}} }; $Profiles->{'US-CA'} = # California { %{$Profiles->{'US'}} }; $Profiles->{'US-CO'} = # Colorado { %{$Profiles->{'US'}} }; $Profiles->{'US-CT'} = # Connecticut { %{$Profiles->{'US'}} }; $Profiles->{'US-DC'} = # District of Columbia { %{$Profiles->{'US'}} }; $Profiles->{'US-DE'} = # Delaware { %{$Profiles->{'US'}} }; $Profiles->{'US-FL'} = # Florida { %{$Profiles->{'US'}} }; $Profiles->{'US-FM'} = # Federated States of Micronesia { %{$Profiles->{'US'}} }; $Profiles->{'US-GA'} = # Georgia { %{$Profiles->{'US'}} }; $Profiles->{'US-GU'} = # Guam { %{$Profiles->{'US'}} }; $Profiles->{'US-HI'} = # Hawaii { %{$Profiles->{'US'}} }; $Profiles->{'US-IA'} = # Iowa { %{$Profiles->{'US'}} }; $Profiles->{'US-ID'} = # Idaho { %{$Profiles->{'US'}} }; $Profiles->{'US-IL'} = # Illinois { %{$Profiles->{'US'}} }; $Profiles->{'US-IN'} = # Indiana { %{$Profiles->{'US'}} }; $Profiles->{'US-KS'} = # Kansas { %{$Profiles->{'US'}} }; $Profiles->{'US-KY'} = # Kentucky { %{$Profiles->{'US'}} }; $Profiles->{'US-LA'} = # Louisiana { %{$Profiles->{'US'}} }; $Profiles->{'US-MA'} = # Massachusetts { %{$Profiles->{'US'}} }; $Profiles->{'US-MD'} = # Maryland { %{$Profiles->{'US'}} }; $Profiles->{'US-ME'} = # Maine { %{$Profiles->{'US'}} }; $Profiles->{'US-MH'} = # Marshall Islands { %{$Profiles->{'US'}} }; $Profiles->{'US-MI'} = # Michigan { %{$Profiles->{'US'}} }; $Profiles->{'US-MN'} = # Minnesota { %{$Profiles->{'US'}} }; $Profiles->{'US-MO'} = # Missouri { %{$Profiles->{'US'}} }; $Profiles->{'US-MP'} = # Northern Mariana Islands { %{$Profiles->{'US'}} }; $Profiles->{'US-MS'} = # Mississippi { %{$Profiles->{'US'}} }; $Profiles->{'US-MT'} = # Montana { %{$Profiles->{'US'}} }; $Profiles->{'US-NC'} = # North Carolina { %{$Profiles->{'US'}} }; $Profiles->{'US-ND'} = # North Dakota { %{$Profiles->{'US'}} }; $Profiles->{'US-NE'} = # Nebraska { %{$Profiles->{'US'}} }; $Profiles->{'US-NH'} = # New Hampshire { %{$Profiles->{'US'}} }; $Profiles->{'US-NJ'} = # New Jersey { %{$Profiles->{'US'}} }; $Profiles->{'US-NM'} = # New Mexico { %{$Profiles->{'US'}} }; $Profiles->{'US-NV'} = # Nevada { %{$Profiles->{'US'}} }; $Profiles->{'US-NY'} = # New York { %{$Profiles->{'US'}} }; $Profiles->{'US-OH'} = # Ohio { %{$Profiles->{'US'}} }; $Profiles->{'US-OK'} = # Oklahoma { %{$Profiles->{'US'}} }; $Profiles->{'US-OR'} = # Oregon { %{$Profiles->{'US'}} }; $Profiles->{'US-PA'} = # Pennsylvania { %{$Profiles->{'US'}} }; $Profiles->{'US-PR'} = # Puerto Rico { %{$Profiles->{'US'}} }; $Profiles->{'US-PW'} = # Palau { %{$Profiles->{'US'}} }; $Profiles->{'US-RI'} = # Rhode Island { %{$Profiles->{'US'}} }; $Profiles->{'US-SC'} = # South Carolina { %{$Profiles->{'US'}} }; $Profiles->{'US-SD'} = # South Dakota { %{$Profiles->{'US'}} }; $Profiles->{'US-TN'} = # Tennessee { %{$Profiles->{'US'}} }; $Profiles->{'US-TX'} = # Texas { %{$Profiles->{'US'}} }; $Profiles->{'US-UT'} = # Utah { %{$Profiles->{'US'}} }; $Profiles->{'US-VA'} = # Virginia { %{$Profiles->{'US'}} }; $Profiles->{'US-VI'} = # Virgin Islands { %{$Profiles->{'US'}} }; $Profiles->{'US-VT'} = # Vermont { %{$Profiles->{'US'}} }; $Profiles->{'US-WA'} = # Washington { %{$Profiles->{'US'}} }; $Profiles->{'US-WI'} = # Wisconsin { %{$Profiles->{'US'}} }; $Profiles->{'US-WV'} = # West Virginia { %{$Profiles->{'US'}} }; $Profiles->{'US-WY'} = # Wyoming { %{$Profiles->{'US'}} }; # Thanks to: # M Lyons <lyonsm@bob.globalmediacorp.com> # Larry Rosler <lr@hpl.hp.com> # Geoff Baskwill <glb@nortel.ca> # Simon Perreault <nomis80@linuxquebec.com> $Profiles->{'CA'} = # Canada { "New Year's Day" => "Jan/01", "Good Friday" => "-2", "Labour Day" => "1/Mon/Sep", "Christmas Day" => "Dec/25" }; sub CA_QC_Dollard # First Monday before May 25 { my($year,$label) = @_; my($dow) = Day_of_Week($year, 5, 25); return( Add_Delta_Days($year, 5, 25, 1-$dow) ); } $Profiles->{'CA-AB'} = # Alberta { %{$Profiles->{'CA'}}, "Family Day" => "3/Mon/Feb", "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "Thanksgiving Day" => "2/Mon/Oct", "Remembrance Day" => "Nov/11" }; $Profiles->{'CA-BC'} = # British Columbia { %{$Profiles->{'CA'}}, "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "British Columbia Day" => "1/Mon/Aug", "Thanksgiving Day" => "2/Mon/Oct", "Remembrance Day" => "Nov/11" }; $Profiles->{'CA-MB'} = # Manitoba { %{$Profiles->{'CA'}}, "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "Thanksgiving Day" => "2/Mon/Oct" }; $Profiles->{'CA-NB'} = # New Brunswick { %{$Profiles->{'CA'}}, "Canada Day" => "Jul/01", "New Brunswick Day" => "1/Mon/Aug" }; $Profiles->{'CA-NF'} = # Newfoundland { %{$Profiles->{'CA'}}, "Memorial Day" => "Jul/01" }; $Profiles->{'CA-NS'} = # Nova Scotia { %{$Profiles->{'CA'}}, "Canada Day" => "Jul/01" }; $Profiles->{'CA-NT'} = # Northwest Territories and Nunavut { %{$Profiles->{'CA'}}, "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "Thanksgiving Day" => "2/Mon/Oct", "Remembrance Day" => "Nov/11" }; $Profiles->{'CA-ON'} = # Ontario { %{$Profiles->{'CA'}}, "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "Family Day" => "3/Mon/Feb", # Thanks to "Civic Holiday" => "1/Mon/Aug", # Iain Dwyer <dermanus@gmail.com> "Thanksgiving Day" => "2/Mon/Oct", "Boxing Day" => "Dec/26" }; $Profiles->{'CA-PE'} = # Prince Edward Island { %{$Profiles->{'CA'}}, "Canada Day" => "Jul/01" }; $Profiles->{'CA-QC'} = # Qu�bec { "Jour de l'an" => "Jan/01", "Vendredi Saint" => "-2", "P�ques" => "+0", "Lundi de P�ques" => "+1", "F�te de Dollard" => \&CA_QC_Dollard, "F�te du Qu�bec" => "Jun/24", "F�te du Canada" => "Jul/01", "F�te du Travail" => "1/Mon/Sep", "Action de Gr�ce" => "2/Mon/Oct", "No�l" => "Dec/25" }; $Profiles->{'CA-SK'} = # Saskatchewan { %{$Profiles->{'CA'}}, "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "Saskatchewan Day" => "1/Mon/Aug", "Thanksgiving Day" => "2/Mon/Oct", "Remembrance Day" => "Nov/11" }; $Profiles->{'CA-YK'} = # Yukon Territory { %{$Profiles->{'CA'}}, "Victoria Day" => "May/22", "Canada Day" => "Jul/01", "Discovery Day" => "3/Mon/Aug", "Thanksgiving Day" => "2/Mon/Oct", "Remembrance Day" => "Nov/11" }; # Thanks to: # Nora Elia Castillo <nec@leia.sunmexico.Sun.COM> $Profiles->{'MX'} = # Mexico { "A�o Nuevo" => "01-01", "D�a de la Constituci�n" => "05-02", "Natalicio de Benito Juarez" => "21-03", "D�a del Trabajo" => "01-05", "D�a de la Independencia" => "16-09", "Revoluci�n Mexicana" => "20-11", "Navidad" => "25-12" }; # Thanks to: # Slawek Szmyd <slawek@msstudio.com.pl> # Marcin Wlazlowski <marcin@msstudio.com.pl> $Profiles->{'PL'} = # Polska { "Nowy Rok" => "01.01.", "Trzech Kroli" => "#06.01.", "Dzien Babci" => "#21.01.", "Dzien Dziadka" => "#22.01.", "Walentynki" => "#14.02.", "Dzien Kobiet" => "#08.03.", "Tlusty Czwartek" => "#-52", "Ostatki" => "#-47", "Sroda Popielcowa" => "#-46", "Niedziela Palmowa" => "#-7", "Wielkanoc" => "+0", "Poniedzialek Wielkanocny" => "+1", "Zielone Swiatki" => "#+49", "Boze Cialo" => "+60", "Prima Aprilis" => "#01.04.", "Swieto Pracy" => "01.05.", "Swieto Narodowe 3 Maja" => "03.05.", "Dzien Matki" => "#26.05.", "Dzien Dziecka" => "#01.06.", "Dzien Ojca" => "#23.06.", "Wniebowziecie NMP" => "15.08.", "Dzien Nauczyciela" => "#14.10.", "Halloween" => "#Oct/31", "Wszystkich Swietych" => "01.11.", "Dzien Zaduszny" => "#02.11", "Narodowe Swieto Niepodleglosci" => "11.11.", "Andrzejki" => "#30.11.", "Mikolajki" => "#06.12.", "Wigilia" => "#24.12.", "Boze Narodzenie pierwszy dzien Swiat" => "25.12.", "Boze Narodzenie drugi dzien Swiat" => "26.12.", "Sylwester" => "#31.12." }; $Profiles->{'PL-SW'} = # kalendarz z wieksza iloscia Swiat { %{$Profiles->{'PL'}}, "Wielki Czwartek" => "#-3", "Wielki Piatek" => "#-2", "Poczatek Adwentu" => \&Advent1, "Swieto Dziekczynienia" => "#4/Thu/Nov" }; ## ISO-Latin-2: # ## Thanks to: ## S�awek Szmyd <slawek@msstudio.com.pl> ## Marcin Wlaz�owski <marcin@msstudio.com.pl> # #$Profiles->{'PL'} = # Polska #{ # "Nowy Rok" => "01.01.", # "Trzech Kr�li" => "#06.01.", # "Dzie� Babci" => "#21.01.", # "Dzie� Dziadka" => "#22.01.", # "Walentynki" => "#14.02.", # "Dzie� Kobiet" => "#08.03.", # # "T�usty Czwartek" => "#-52", # "Ostatki" => "#-47", # "�roda Polpielcowa" => "#-46", # "Niedziela Palmowa" => "#-7", # "Wielkanoc" => "+0", # "Poniedzia�ek Wielkanocny" => "+1", # "Zielone �wi�tki" => "#+49", # "Bo�e Cia�o" => "+60", # # "Prima Aprilis" => "#01.04.", # "�wi�to Pracy" => "01.05.", # "�wi�to Narodowe 3 Maja" => "03.05.", # "Dzie� Matki" => "#26.05.", # "Dzie� Dziecka" => "#01.06.", # "Dzie� Ojca" => "#23.06.", # "Wniebowzi�cie NMP" => "15.08.", # "Dzie� Nauczyciela" => "#14.10.", # "Halloween" => "#Oct/31", # "Wszystkich �wi�tych" => "01.11.", # "Dzie� Zaduszny" => "#02.11", # "Narodowe �wi�to Niepodleg�o�ci" => "11.11.", # "Andrzejki" => "#30.11.", # "Miko�ajki" => "#06.12.", # "Wigilia" => "#24.12.", # "Bo�e Narodzenie pierwszy dzie� �wi�t" => "25.12.", # "Bo�e Narodzenie drugi dzie� �wi�t" => "26.12.", # "Sylwester" => "#31.12." #}; # #$Profiles->{'PL-SW'} = # kalendarz z wieksza iloscia Swiat #{ # %{$Profiles->{'PL'}}, # "Wielki Czwartek" => "#-3", # "Wielki Pi�tek" => "#-2", # "Pocz�tek Adwentu" => \&Advent1, # "�wi�to Dzi�kczynienia" => "#4/Thu/Nov" #}; $Profiles->{'AT'} = # �sterreich { "Neujahr" => "01.01.", "Dreik�nigstag" => "06.01.", "Karfreitag" => "#-2", # regional unterschiedlich "Ostersonntag" => "+0", "Ostermontag" => "+1", "Staatsfeiertag" => "01.05.", "Christi Himmelfahrt" => "+39", "Pfingstsonntag" => "+49", "Pfingstmontag" => "+50", "Fronleichnam" => "+60", "Mari� Himmelfahrt" => "15.08.", "Nationalfeiertag" => "26.10.", "Allerheiligen" => "01.11.", "Mari� Empf�ngnis" => "08.12.", "Christtag" => "25.12.", "Stephanitag" => "26.12." }; # Thanks to: # Herbert Liechti <herbert.liechti@thinx.ch> # Marco Hunn <m_hunn@blue-design.ch> # Aldo Calpini <dada@perl.it> $Profiles->{'CH-DE'} = # Schweiz - Deutsch { "Neujahr" => "01.01.", "Dreik�nigstag" => "06.01.", "Karfreitag" => "#-2", "Ostersonntag" => "+0", "Ostermontag" => "+1", "Auffahrt" => "+39", "Pfingstsonntag" => "+49", "Pfingstmontag" => "+50", "Fronleichnam" => "#+60", "Bundesfeiertag" => "01.08.", "Mari� Himmelfahrt" => "#15.08.", "Allerheiligen" => "#01.11.", "Weihnachten" => "25.12.", "Stefanstag" => "26.12." }; $Profiles->{'CH-FR'} = # Suisse - Fran�ais { "Nouvel An" => "01.01.", "�piphanie" => "06.01.", "Vendredi Saint" => "#-2", "P�ques" => "+0", "Lundi de P�ques" => "+1", "L'Ascension" => "+39", "La Pentec�te" => "+49", "Lundi de Pentec�te" => "+50", "F�te Dieu" => "#+60", "F�te f�d�rale" => "01.08.", "Assomption" => "#15.08.", "Toussaint" => "#01.11.", "N�el" => "25.12.", "St. Etienne" => "26.12." }; $Profiles->{'CH-IT'} = # Switzerland - Italian { "Capo d'Anno" => "01.01.", "Epifania" => "06.01.", "Venerd� Santo" => "#-2", "Pasqua" => "+0", "Luned� di Pasqua" => "+1", "Ascensione" => "+39", "Pentecoste" => "+49", "Luned� di Pentecoste" => "+50", "Corpus Domini" => "#+60", "Festa federale" => "01.08.", "Assunzione di M.V." => "#15.08.", "Ognissanti" => "#01.11.", "S. Natale" => "25.12.", "S. Stefano" => "26.12." }; $Profiles->{'CH-RM'} = # Swizra rumantscha (Switzerland - Rhaeto-Romance) { "B�man" => "01.01.", "Di da la Babania" => "#06.01.", "Venderdi sonch" => "-2", "Dumengia da Pasqua" => "+0", "Fir� da Pasqua" => "+1", "Ascensiun" => "+39", "Dumengia da Tschinquaisma" => "+49", "Fir� da Tschinquaisma" => "+50", "Sonch sang" => "#+60", "Festa federala" => "01.08.", "Assunziun da Maria" => "#15.08.", "Festa da tuot ils sonchs" => "#01.11.", "Festa da Nadal" => "25.12.", "Stefan sonch" => "26.12." }; # Thanks to: # Fran�ois Desarmenien <francois@fdesar.net> # Arnaud Calvo <arnaud@calvo-france.com> # Jean Forget <ponder.stibbons@wanadoo.fr> # Cedric Bouvier <Cedric.Bouvier@ctp.com> # Julien Quint <julien.quint@imag.fr> $Profiles->{'FR'} = # France { "Jour de l'An" => "01.01.", "�piphanie" => "#06.01.", "Chandeleur" => "#02.02.", "Mardi-Gras" => "#-47", "Mercredi des Cendres" => "#-46", "Dimanche des Rameaux" => "-7", "P�ques" => "+0", "Lundi de P�ques" => "+1", "Fin de Guerre d'Alg�rie" => "#19.03.", # Contrat d'Evian 19.03.1962 "F�te du Travail" => "01.05.", "Victoire 1945" => "08.05.", "Saint Jean" => "#24.06.", "Ascension" => "+39", "Pentec�te" => "+49", "Lundi de Pentec�te" => "+50", "F�te Nationale" => "14.07.", "Assomption" => "15.08.", "Toussaint" => "01.11.", "Jour des D�funts" => "#02.11.", "Saint Martin" => "#11.11", "Armistice 1918" => "11.11.", "Avent" => \&Advent1, "No�l" => "25.12.", "Saint Sylvestre" => "#31.12." }; $Profiles->{'BE-DE'} = # Belgien { "Neujahr" => "01.01.", "Dreik�nigstag" => "#06.01.", "Lichtmesse" => "#02.02.", "Karnevalsdienstag" => "#-47", "Aschermittwoch" => "#-46", "Palmsonntag" => "-7", "Ostersonntag" => "+0", "Ostermontag" => "+1", "Tag der Arbeit" => "01.05.", "Christi Himmelfahrt" => "+39", "Pfingstsonntag" => "+49", "Pfingstmontag" => "+50", "Nationalfeiertag" => "21.07.", "Mari� Himmelfahrt" => "15.08.", "Allerheiligen" => "01.11.", "Allerseelen" => "#02.11.", "Waffenstillstand 1918" => "11.11.", "Weihnachten" => "25.12.", "2. Weihnachtsfeiertag" => "#26.12.", "Sylvester" => "#31.12." }; # Thanks to: # Hendrik Van Belleghem <beatnik@quickndirty.org> # Stefaan Colson <stefaan.colson@sitel.com> $Profiles->{'BE-NL'} = # Belgi� { "Nieuwjaar" => "01.01.", "Driekoningen" => "#06.01.", "Lichtmis" => "#02.02.", "Vastenavond" => "#-47", "Aswoensdag" => "#-46", "Palmzondag" => "-7", "Pasen" => "+0", "Paasmaandag" => "+1", "Dag van de arbeid" => "01.05.", "Hemelvaartsdag" => "+39", # Onze Lieve Heer Hemelvaart "Pinksteren" => "+49", "Pinkstermaandag" => "+50", "Feest van de Vlaamse Gemeenschap" => "#11.07", "Nationale feestdag" => "21.07.", "OLV Hemelvaart" => "15.08.", # Onze Lieve Vrouw Hemelvaart "Allerheiligen" => "01.11.", "Allerzielen" => "#02.11.", "Wapenstilstand 1918" => "11.11.", "Kerstmis" => "25.12.", "Tweede kerstdag" => "#26.12." }; # Thanks to: # Stefaan Colson <stefaan.colson@sitel.com> # Stephane Rondal <rondal@usa.net> $Profiles->{'BE-FR'} = # Belgique { "Nouvel An" => "01.01.", "�piphanie" => "#06.01.", "Chandeleur" => "#02.02.", "Mardi-Gras" => "#-47", "Mercredi des Cendres" => "#-46", "Dimanche des Rameaux" => "-7", "P�ques" => "+0", "Lundi de P�ques" => "+1", "F�te du Travail" => "01.05.", "Ascension" => "+39", "Pentec�te" => "+49", "Lundi de Pentec�te" => "+50", "F�te Nationale" => "21.07.", "Assomption" => "15.08.", "F�te de la Communaut� Fran�aise" => "#27.09.", "Toussaint" => "01.11.", "Jour des D�funts" => "#02.11.", "Armistice 1918" => "11.11.", "No�l" => "25.12.", "2i�me Jour de No�l" => "#26.12.", "Saint Sylvestre" => "#31.12." }; $Profiles->{'LU-DE'} = # Gro�herzogtum Luxemburg { "Neujahr" => "01.01.", "Fastnachtsmontag" => "#-48", # regional unterschiedlich "Ostersonntag" => "+0", "Ostermontag" => "+1", "Tag der Arbeit" => "01.05.", "Christi Himmelfahrt" => "+39", "Pfingstsonntag" => "+49", "Pfingstmontag" => "+50", "Nationalfeiertag" => "23.06.", "Mari� Himmelfahrt" => "15.08.", "Allerheiligen" => "01.11.", "Allerseelen" => "#02.11.", # regional unterschiedlich "Weihnachten" => "25.12.", "2. Weihnachtsfeiertag" => "26.12." }; $Profiles->{'LU-FR'} = # Grand Duch� du Luxembourg { "Nouvel An" => "01.01.", "Veille du Mardi Gras" => "#-48", # varie selon la r�gion "P�ques" => "+0", "Lundi de P�ques" => "+1", "F�te du Travail" => "01.05.", "Ascension" => "+39", "Pentec�te" => "+49", "Lundi de Pentec�te" => "+50", "Jour National" => "23.06.", "Assomption" => "15.08.", "Toussaint" => "01.11.", "Jour des D�funts" => "#02.11.", # varie selon la r�gion "No�l" => "25.12.", "2i�me Jour de No�l" => "#26.12.", "Saint Sylvestre" => "#31.12." }; $Profiles->{'PT'} = # Portugal { "Ano Novo" => "01.01.", "Ter�a-Feira de Carnaval" => "-47", "Paix�o de Cristo" => "-2", "Domingo de P�scoa" => "+0", "Dia da Liberdade" => "25.04.", "Dia do Trabalho" => "01.05.", "Ascens�o de Cristo" => "+39", "Domingo de Pentecostes" => "+49", "Dia Nacional" => "10.06.", "Corpus Christi" => "#+60", # varia segundo a regi�o "Assun��o de Maria" => "15.08.", "Dia da Rep�blica" => "05.10.", "Todos os Santos" => "01.11.", "Dia da Independ�ncia" => "01.12.", "Concei��o de Maria" => "08.12.", "Natal" => "25.12." }; # Thanks to: # Arturo Valdes <arturovaldes@usa.net> $Profiles->{'ES'} = # Espa�a { "A�o Nuevo" => "01.01.", "Epifan�a del Se�or" => "06.01.", "D�a de Santo Jos�" => "#19.03.", "Jueves Santo" => "#-3", "Viernes Santo" => "-2", "Domingo de P�scuas" => "+0", "Lunes de P�scuas" => "#+1", # var�a segundo la region "D�a del Trabajo" => "01.05.", "Domingo de Pentecostes" => "+49", "Santiago Ap�stol" => "#25.07.", "Ascensi�n de la Virgen" => "15.08.", # Ascensi�n de Mar�a "Fiesta Nacional de Espa�a" => "12.10.", "Todos los Santos" => "01.11.", "D�a de la Constituci�n" => "06.12.", "Inmaculada Concepci�n" => "08.12.", # D�a de la Concepci�n "Natividad del Se�or" => "25.12." }; # Thanks to: # Michele Beltrame <mb@io.com> # Aldo Calpini <dada@perl.it> # Alessio Bragadini <alessio@sevenseas.org> $Profiles->{'IT'} = # Italia { "Capodanno" => "01.01.", "Epifania" => "06.01.", "San Valentino" => "#14.02.", "Festa della Donna" => "#08.03.", "Festa della Mamma" => "1/Sun/May", "Marted� Grasso" => "#-47", "Pasqua" => "+0", "Luned� dell'Angelo" => "+1", "Liberazione d'Italia 1945" => "25.04.", "Festa del Lavoro" => "01.05.", "Fondazione della Repubblica 1946" => \&IT_Fondazione, "Pentecoste" => "+49", "Ferragosto" => "15.08.", "Tutti i Santi" => "01.11.", "Celebrazione dei Defunti" => "#02.11.", "Giorno dell'Unit� Nazionale" => "#04.11.", "Fine della 1a Guerra Mondiale" => "#04.11.", "Giorno delle Forze Armate" => "#04.11.", "Immacolata Concezione" => "08.12.", "Natale" => "25.12.", "S. Stefano" => "26.12." }; # Fixed thanks to: # Michele Valzelli <spleen.leveller@gmail.com> sub IT_Fondazione { my($year,$label) = @_; if ($year >= 1947) { if (($year <= 1977) or ($year >= 2000)) { return($year,6,2); } else { return($year,6,2,'#'); } # only commemorative } return(); # didn't exist before 1947 } # Thanks to: # Georg Mavridis <GM@mavridis.net> $Profiles->{'GR'} = # Greece { "Prwtohronia" => "01.01.", # New Year "Theofaneia" => "06.01.", # Epifania "Katharh devtera" => "-48", # Carnival Monday # "???" => "???", # Annunciation of Maria "Ethniki giorth 1" => "25.03.", # National Day #1 "Megalh paraskevh" => "-2", # Good Friday "Kyriakh toy pasha" => "+0", # Easter Sunday "Devtera toy pasha" => "+1", # Easter Monday "Analypsews" => "#+39", # Ascension of Christ "Kyriakh toy agiou pnevmatos" => "+49", # Whitsunday "Agiou pnevmatos" => "+50", # Whitmonday "Hmera ths ergasias" => "01.05.", # Labour Day (also commonly called "Prwtomagia") "Koimhsews theotokoy" => "15.08.", # Ascension of Maria "Timioy stavrou" => "#14.09.", # Feast of the Elevation of the Cross "Ethniki giorth 2" => "28.10.", # National Day #2 "Hristougenna" => "25.12.", # Christmas (1st Day) "Devterh mera hristougennwn" => "26.12.", # Christmas (2nd Day) }; # Thanks to: # Flemming Mahler Larsen <mahler@dk.net> $Profiles->{'DK'} = # Denmark { "Nyt�rsdag" => "01.01.", "Hellig tre Konger" => "1/Sun/Jan", # (H3K) - First Sunday of the year "Fastelavn" => "-49", # 7th Sunday before Easter "Palme s�ndag" => "-7", # Sunday before Easter "Sk�rtorsdag" => "-3", "Langfredag" => "-2", "P�skedag" => "+0", "2. P�skedag" => "+1", "Store bededag" => "+26", # 4th Friday after Easter "Grundlovsdag" => "05.06.", "Skt. Hans aften" => "23.06.", "Kristi himmelfart" => "+39", "Pinsedag" => "+49", "2. Pinsedag" => "+50", "Mortensdag" => "11.10.", "Allehelgen" => "1/Sun/Nov", # Halloween "1. Advent" => \&Advent, "2. Advent" => \&Advent, "3. Advent" => \&Advent, "4. Advent" => \&Advent, "Juleaftensdag" => "24.12.", "1. Juledag" => "25.12.", "2. Juledag" => "26.12." }; # Thanks to: # H. Merijn Brand <h.m.brand@xs4all.nl> # Johan Vromans <JVromans@squirrel.nl> # Abigail <abigail@foad.org> # Elizabeth Mattijsen <liz@dijkmat.nl> # Abe Timmerman <abe@ztreet.demon.nl> # Jigal van Hemert <jigal.van.hemert@iquip.nl> # Wim Verhaegen <wim.verhaegen@esat.kuleuven.ac.be> # Cas Tuyn <cas.tuyn@asml.nl> # Remco B. Brink <remco@solbors.no> # Can Bican <can@ripe.net> # Ziya Suzen <ziya@ripe.net> # Henk Uijterwaal <henk@ripe.net> # Eric Veldhuyzen <ericv@xs4all.net> $Profiles->{'NL'} = # Nederland { "Nieuwjaar" => "01-01", "Driekoningen" => "#06-01", "Valentijnsdag" => "#14-02", "Biddag voor het gewas" => "#2/Wed/Mar", "Carnaval" => "#-48", "Vastenavond" => "#-47", "Aswoensdag" => "#-46", "Een April" => "#01-04", "Palmpasen" => "-7", "Witte Donderdag" => "#-3", "Goede Vrijdag" => "#-2", "Stille Zaterdag" => "#-1", "Pasen" => "+0", "Paasmaandag" => "+1", "Moederdag" => "2/Sun/May", "Vaderdag" => "3/Sun/Jun", "Koninginnedag" => \&NL_Koninginnedag, "Dodenherdenking" => "#04-05", "Bevrijdingsdag" => \&NL_Bevrijdingsdag, "Hemelvaart" => "+39", "Pinksteren" => "+49", "Pinkstermaandag" => "+50", "Trinitatis" => "+56", "Prinsjesdag" => "#3/Tue/Sep", "Dierendag" => "#04-10", "Dankdag voor het gewas" => "#1/Wed/Nov", "Sint Maarten" => "#11-11", "Sinterklaasavond" => "#05-12", "Sinterklaas" => "#06-12", "Koninkrijksdag" => "#15-12", "Kerstmis" => "25-12", "2e Kerstdag" => "26-12" }; sub NL_Koninginnedag { my($year,$label) = @_; my(@date); @date = ($year,4,30); if (Day_of_Week(@date) == 7) { @date = Add_Delta_Days(@date,-1); } return(@date); } # Bevrijdingsdag: # # 1945 : Liberation from German occupation in World War II # 1946,1947: Official holiday # 1948,1949: Afternoon off for government personnel, some local celebrations # 1950-1957: No official celebrations # 1958-1981: Commemorative, holiday for government personnel, schools etc. # 1982-1990: Official holiday for everybody # 1990-... : Official holiday every 5th year for everybody # # See also # http://www.herdenkenenvieren.nl/utility/print.jsp?detail=2197&contentid=2197&siteid=hev&nofooter=true # As far as I know, 'bevrijdingsdag' is an official national celebration # day for everybody, but this does NOT mean that you do not have to go to # work. This depends on your employer. In general, for everybody it is # just a normal work day, except for people working for the government. # # See also # http://home.szw.nl/faq/dsp_faq.cfm?view=3Ddetail&link_id=3D41264 # http://www.abvakabo.net/faq/index.php?page=3Dindex_v2&id=3D333&c=3D91 sub NL_Bevrijdingsdag { my($year,$label) = @_; if ($year >= 1945) { if ( ($year <= 1947) or (($year >= 1982) and ($year <= 1990)) or (($year > 1990) and (($year % 5) == 0))) { return($year,5,5); # true holiday } elsif (($year == 1948) or ($year == 1949)) { return($year,5,5,':'); # half day off } else { return($year,5,5,'#'); # only commemorative } } return(); # didn't exist before 1945 } # Thanks to: # Erland Sommarskog <sommar@algonet.se> # Magnus Bodin <magnus@bodin.org> # Olle E. Johansson <oej@edvina.net> $Profiles->{'SV'} = # Sverige { "Ny�rsdagen" => "01.01.", "Trettondedagsafton" => "#05.01.", # 12 days after Dec 24th "Trettondedag jul" => "06.01.", # 13 days after Dec 24th "Tjugondedag Knut" => "#13.01.", # 20 days after Dec 24th according to Olle E. Johansson "Kyndelsm�ssodagen" => "#02.02", "Marie beb�delsedag" => "#25.03", "Sk�rtorsdag" => "#-3", "L�ngfredagen" => "-2", "P�skafton" => "#-1", # like a Saturday "P�skdagen" => "+0", "Annandag p�sk" => "+1", "Valborgsm�ssoafton" => "#30.04.", "F�rsta maj" => "01.05.", "Syttende maj" => "#17.05.", # not a swedish but a norwegian holiday according to Olle E. Johansson "Mors dag" => "5/Sun/May", # Last Sun in May "Fars dag" => "2/Sun/Nov", # 2nd Sun in Nov "Sveriges nationaldag" => "#06.06.", "Johannes D�parens dag" => "#24.06.", "Kristi himmelsf�rds dag" => "+39", "Pingstafton" => "#+48", # like a Saturday "Pingstdagen" => "+49", "Annandag pingst" => "+50", "Midsommarafton" => \&SV_Midsommarafton, # like a Saturday "Midsommardagen" => \&SV_Midsommardagen, "Alla helgons dag" => \&SV_Alla_Helgons_Dag, "Allhelgonadagen" => "#01.11.", "FN-dagen" => "#24.10.", "Gustav Adolfs-dagen" => "#06.11.", "Nobeldagen" => "#10.12.", "Julafton" => "#24.12.", # like a Saturday "Juldagen" => "25.12.", "Annandag jul" => "26.12.", "Ny�rsafton" => "#31.12." # like a Saturday }; sub SV_Midsommarafton # Friday that falls on June 19th to 25th { my($year,$label) = @_; return( Add_Delta_Days($year,6,28, -(Day_of_Week($year,6,28)+2)), '#' ); } sub SV_Midsommardagen # Saturday that falls on June 20th to 26th { my($year,$label) = @_; return( Add_Delta_Days($year,6,28, -(Day_of_Week($year,6,28)+1)) ); } sub SV_Alla_Helgons_Dag # Saturday that falls on Oct 31st to Nov 6th { my($year,$label) = @_; return( Add_Delta_Days($year,11,8, -(Day_of_Week($year,11,8)+1)) ); } # Thanks to: # Gisle Aas <gisle@aas.no> # Remco B. Brink <remco@solbors.no> # Lars Ole <ma-karl2@online.no> # Vetle Roeim <vetler@opera.com> $Profiles->{'NO'} = # Norway { "Nytt�rsdag" => "01/01", "Onsdag f�r Skj�rtorsdag" => "#-4", # sometimes half a day off "Skj�rtorsdag" => "-3", "Langfredag" => "-2", "P�skedag" => "+0", "2. P�skedag" => "+1", "1. mai" => "05/01", "Grunnlovsdag" => "05/17", "Kristi himmelfartsdag" => "+39", "Pinsedag" => "+49", "2. Pinsedag" => "+50", "Julaften" => "#12/24", # sometimes half a day off "Juledag" => "12/25", "2. Juledag" => "12/26", "Nytt�rsaften" => "#31.12" # sometimes half a day off }; ## Thanks to: ## Sercan Uslu <sercanuslu@su.sabanciuniv.edu> # #$Profiles->{'TR'} = # T�rkiye #{ ## National Public Holidays (fixed): # # "New Year's Day" => "01-01", # "National Sovereignty Day" => "23-04", # "Children's Day" => "23-04", # "Atat�rk Commemoration" => "19-05", # "Youth and Sports Day" => "19-05", # "Victory Day" => "30-08", # "Republic Day" => "29-10", # ## Religious Public Holidays (moving): # # "Kurban Bayram (Eid al Adha) 1" => "22-02", # only valid in 2002 # "Kurban Bayram (Eid al Adha) 2" => "23-02", # only valid in 2002 # "Kurban Bayram (Eid al Adha) 3" => "24-02", # only valid in 2002 # "Kurban Bayram (Eid al Adha) 4" => "25-02", # only valid in 2002 # # "Ramazan / Seker Bayram (Eid al Fitr) 1" => "05-12", # only valid in 2002 # "Ramazan / Seker Bayram (Eid al Fitr) 2" => "06-12", # only valid in 2002 # "Ramazan / Seker Bayram (Eid al Fitr) 3" => "07-12" # only valid in 2002 #}; # Thanks to: # Jonathan Stowe <gellyfish@gellyfish.com> $Profiles->{'GB'} = # Great Britain { "New Year's Day" => \&GB_New_Year, "Good Friday" => "-2", "Easter Sunday" => "+0", "Easter Monday" => "+1", "Early May Bank Holiday" => \&GB_Early_May, "Late May Bank Holiday" => "5/Mon/May", # Last Monday # # Jonathan Stowe <gellyfish@gellyfish.com> told me that spring # bank holiday is the first Monday after Whitsun, but my pocket # calendar suggests otherwise. I decided to follow my pocket # guide and an educated guess ;-), but please correct me if # I'm wrong! # "Summer Bank Holiday" => "5/Mon/Aug", # Last Monday "Christmas Day" => \&GB_Christmas, "Boxing Day" => \&GB_Boxing }; sub GB_New_Year { my($year,$label) = @_; return( &Next_Monday($year,1,1) ); } # # The following formula (also from Jonathan Stowe <gellyfish@gellyfish.com>) # also contradicts my pocket calendar, but for lack of a better guess I # left it as it is. Please tell me the correct formula in case this one # is wrong! Thank you! # sub GB_Early_May # May bank holiday is the first Monday after May 1st { my($year,$label) = @_; if (Day_of_Week($year,5,1) == 1) { return( Nth_Weekday_of_Month_Year($year,5,1,2) ); } else { return( Nth_Weekday_of_Month_Year($year,5,1,1) ); } } sub GB_Christmas { my($year,$label) = @_; return( &Next_Monday($year,12,25) ); } sub GB_Boxing { my($year,$label) = @_; return( &Next_Monday_or_Tuesday($year,12,26) ); } # Thanks to: # Bianca Taylor <bianca@unisolve.com.au> # Andie Posey <andie@posey.org> # Don Simonetta <don.simonetta@tequinox.com> # Paul Fenwick <pjf@cpan.org> # Brian Graham <brian.graham@nec.com.au> # Pat Waters <pat.waters@dir.qld.gov.au> # Stephen Riehm <Stephen.Riehm@gmx.net> # http://www.holidayfestival.com/Australia.html # http://www.earthcalendar.net/countries/2001/australia.html # Sven Geisler <sgeisler@aeccom.com> # Canberra (ACT): # http://www.workcover.act.gov.au/labourreg/publicholidays.html # New South Wales (NSW): # http://www.dir.nsw.gov.au/holidays/index.html # Northern Territory (NT): # http://www.nt.gov.au/ocpe/documents/public-holidays/ # Queensland (QLD): # http://www.wageline.qld.gov.au/publicholidays/list_pubhols.html # South Australia (SA): # http://www.sacentral.sa.gov.au/information/pubhols.htm # Tasmania (TAS): # http://www.workcover.tas.gov.au/WSTPublish/node/wststatutory.htm # Victoria (VIC): # http://www.info.vic.gov.au/resources/publichols.htm # Western Australia (WA): # http://www.doplar.wa.gov.au/wages/pub_hol1.htm $Profiles->{'AU'} = # Australia { "Australia Day" => \&AU_Australia, "St. Valentine's Day" => "#14.02.", "Good Friday" => "-2", "Easter Sunday" => "+0", "Easter Monday" => "+1", "Anzac Day" => "25.04.", "Christmas Day" => \&AU_Christmas, "Boxing Day" => \&AU_Boxing }; sub AU_Australia { my($year,$label) = @_; return( &Next_Monday($year,1,26) ); } sub AU_Christmas { my($year,$label) = @_; return( &Next_Monday($year,12,25) ); } sub AU_Boxing { my($year,$label) = @_; return( &Next_Monday_or_Tuesday($year,12,26) ); } sub AU_New_Year { my($year,$label) = @_; return( &Next_Monday($year,1,1) ); } sub AU_Lauceston { my($year,$label) = @_; if (Nth_Weekday_of_Month_Year($year,2,3,5)) { return( Nth_Weekday_of_Month_Year($year,2,3,4) ); } else { return( Nth_Weekday_of_Month_Year($year,2,3,3) ); } } sub AU_May { my($year,$label) = @_; return( &Next_Monday($year,5,1) ); } sub AU_QLD_Anzac { my($year,$label) = @_; return( &Sunday_to_Monday($year,4,25) ); } sub AU_QLD_Brisbane { my($year,$label) = @_; if (Nth_Weekday_of_Month_Year($year,8,3,5)) { return( Nth_Weekday_of_Month_Year($year,8,3,3), '#' ); } else { return( Nth_Weekday_of_Month_Year($year,8,3,2), '#' ); } } sub AU_VIC_New_Year { my($year,$label) = @_; return( &Sunday_to_Monday($year,1,1) ); } sub AU_VIC_Boxing { my($year,$label) = @_; return( &Sunday_to_Monday($year,12,26) ); } $Profiles->{'AU-QLD'} = # Queensland { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Anzac Day" => \&AU_QLD_Anzac, "Easter Saturday" => "-1", "Labour Day" => "1/Mon/May", "Queen's Birthday" => "2/Mon/Jun", "Royal Show (Brisbane)" => \&AU_QLD_Brisbane }; $Profiles->{'AU-TAS'} = # Tasmania { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Regatta Day" => "2/Tue/Feb", "Lauceston Cup Day" => \&AU_Lauceston, "King Island Show Day" => "1/Tue/Mar", # uncertain! (maybe Tuesday after 1/Sun/Mar?) "Eight Hour Day" => "2/Mon/Mar", # dubious, formula probably wrong! "Easter Saturday" => "-1", "Queen's Birthday" => "2/Mon/Jun", "Recreation Day" => "1/Mon/Nov" # only North Tasmania - date not confirmed! }; $Profiles->{'AU-SA'} = # South Australia { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Easter Saturday" => "-1", "Adelaide Cup Day" => "3/Mon/May", # uncertain! (maybe Monday after 3/Sun/May?) "Queen's Birthday" => "2/Mon/Jun", "Labour Day" => "1/Mon/Oct", "Proclamation Day" => "#26.12." }; $Profiles->{'AU-WA'} = # Western Australia { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Labour Day" => "1/Mon/Mar", "Foundation Day" => "1/Mon/Jun", "Queen's Birthday" => "1/Mon/Oct" }; $Profiles->{'AU-ACT'} = # Australian Capital Territory { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Canberra Day" => "2/Mon/Mar", # dubious, formula probably wrong! "Easter Saturday" => "-1", "Queen's Birthday" => "2/Mon/Jun", "Labour Day" => "1/Mon/Oct" }; $Profiles->{'AU-NSW'} = # New South Wales { %{$Profiles->{'AU'}}, "New Year's Day" => \&AU_New_Year, "Easter Saturday" => "-1", "Queen's Birthday" => "2/Mon/Jun", "Labour Day" => "1/Mon/Oct" }; $Profiles->{'AU-NT'} = # Northern Territory { %{$Profiles->{'AU'}}, "New Year's Day" => "01.01.", "Easter Saturday" => "-1", "May Day" => \&AU_May, "Queen's Birthday" => "2/Mon/Jun", "Picnic Day" => "1/Mon/Aug" }; $Profiles->{'AU-VIC'} = # Victoria { %{$Profiles->{'AU'}}, "New Year's Day" => \&AU_VIC_New_Year, "Australia Day" => "26.01.", "Labour Day" => "2/Mon/Mar", "Queen's Birthday" => "2/Mon/Jun", "Melbourne Cup Day" => "#1/Tue/Nov", # only in metropolitian municipal districts "Christmas Day" => "25.12.", "Boxing Day" => \&AU_VIC_Boxing }; # Thanks to: # John Bolland <jbolland@mainzeal.co.nz> # Andie Posey <andie@posey.org> $Profiles->{'NZ'} = # New Zealand { "New Year's Day" => \&NZ_New_Year, "Day after New Year's Day" => \&NZ_After_New_Year, "Waitangi Day" => "06.02.", "St. Valentine's Day" => "#14.02.", "St. David's Day" => "#01.03.", "St. Patrick's Day" => "#17.03.", "St. George's Day" => "#23.04.", "St. Andrew's Day" => "#30.11.", "Good Friday" => "-2", "Easter Sunday" => "+0", "Easter Monday" => "+1", "Anzac Day" => "25.04.", "Queen's Birthday" => "1/Mon/Jun", "Labour Day" => \&NZ_Labour, "Christmas Day" => \&NZ_Christmas, "Boxing Day" => \&NZ_Boxing, "Southland" => \&NZ_Southland, "Wellington" => \&NZ_Wellington, "Auckland" => \&NZ_Auckland, "Taranaki" => \&NZ_Taranaki, "Otago" => \&NZ_Otago, "South Canterbury" => \&NZ_South_Canterbury, "Hawkes Bay" => \&NZ_Hawkes_Bay, "Marlborough" => \&NZ_Marlborough, "North Canterbury" => \&NZ_North_Central_Canterbury, "Central Canterbury" => \&NZ_North_Central_Canterbury, "Chatham Islands" => \&NZ_Chatham_Islands, "Westland" => \&NZ_Westland, "Christchurch Show Day" => \&NZ_Christchurch }; sub NZ_New_Year { my($year,$label) = @_; return( &Next_Monday($year,1,1) ); } sub NZ_After_New_Year { my($year,$label) = @_; return( &Next_Monday_or_Tuesday($year,1,2) ); } sub NZ_Labour { my($year,$label) = @_; return( &Next_Monday($year,10,22) ); } sub NZ_Christmas { my($year,$label) = @_; return( &Next_Monday($year,12,25) ); } sub NZ_Boxing { my($year,$label) = @_; return( &Next_Monday_or_Tuesday($year,12,26) ); } sub NZ_Southland { my($year,$label) = @_; return( &Next_Monday($year,1,15), '#' ); } sub NZ_Wellington { my($year,$label) = @_; return( &Next_Monday($year,1,22), '#' ); } sub NZ_Auckland { my($year,$label) = @_; return( &Next_Monday($year,1,29), '#' ); } sub NZ_Taranaki { my($year,$label) = @_; return( &Next_Monday($year,3,12), '#' ); } sub NZ_Otago { my($year,$label) = @_; return( &Next_Monday($year,3,26), '#' ); } sub NZ_South_Canterbury { my($year,$label) = @_; return( &Next_Monday($year,9,24), '#' ); } sub NZ_Hawkes_Bay { my($year,$label) = @_; return( &Previous_Friday($year,10,19), '#' ); } sub NZ_Marlborough { my($year,$label) = @_; return( &Next_Monday($year,10,29), '#' ); } sub NZ_North_Central_Canterbury { my($year,$label) = @_; return( &Previous_Friday($year,11,16), '#' ); } sub NZ_Chatham_Islands { my($year,$label) = @_; return( &Next_Monday($year,12,3), '#' ); } sub NZ_Westland { my($year,$label) = @_; return( &Next_Monday($year,12,3), '#' ); } sub NZ_Christchurch { my($year,$label) = @_; return( &Previous_Friday($year,11,9), '#' ); } # Thanks to: # Ana Maria Lopes Monteiro <anamaria_l@hotmail.com> # Pe. Am�ncio <catedral@lkn.com.br> # In�z Hiltrop <inez@hiltrop.de> # http://www.imagensbahia.com.br/calend.htm # http://www.hotelonline.com.br/menu/datas.htm # http://www.mec.gov.br/acs/relpublc/datas.shtm $Profiles->{'BR'} = # Brasil { # Feriados oficiais variaveis: "Carnaval" => "-47", "Paix�o de Cristo" => "-2", "Corpus Christi" => "+60", # Feriados oficiais fixos: "Ano Novo" => "01-01", "Tiradentes (Patrono C�vico da Na��o Brasileira)" => "21-04", "Dia (Mundial) do Trabalho" => "01-05", "Dia da Independ�ncia do Brasil (1822)" => "07-09", "N. Sra. Aparecida (Padroeira do Brasil)" => "12-10", "Finados" => "02-11", "Proclama��o da Rep�blica dos Estados Unidos do Brasil (1889)" => "15-11", "Natal" => "25-12", # Dias comemorativos variaveis: "Segunda-Feira de Carnaval" => "#-48", "Cinzas" => "#-46", "Aleluia" => "#-1", "P�scoa" => "#+0", "Ascens�o do Senhor" => "#+39", "Pentecostes" => "#+49", "Dia Mundial da Ora��o" => "#1/Fri/Mar", "Dia das M�es" => "#2/Sun/May", "Dia dos Pais" => "#2/Sun/Aug", "Dia da B�blia" => "#5/Sun/Sep", "Dia Universal da Crian�a" => "#1/Mon/Oct", "Dia do Securit�rio" => "#3/Mon/Oct", # Sinonimos: # "Dia da Ressaca" => "#-46", # >;-) "Sexta-Feira Santa" => "#-2", "Dia Mundial da Paz" => "#01-01", "Confraterniza��o Universal" => "#01-01", # "Fraternidade Universal" => "#01-01", "Santos Reis" => "#06-01", "Inconfid�ncia Mineira" => "#21-04", "Todas as Almas" => "#02-11", "Natividade de Jesus" => "#25-12", # "Natividade do Senhor" => "#25-12", # Datas especiais: "Elei�es" => "#03-10", "In�cio do Outono" => "#21-03", "In�cio do Inverno" => "#21-06", "In�cio da Primavera" => "#23-09", "In�cio do Ver�o" => "#22-12", # "Come�o do Hor�rio de Ver�o" => "#??-??", # "Fim do Hor�rio de Ver�o" => "#??-??", # Dias comemorativos (datas contraditorias ou duvidosas): "In�cio da Semana Nacional contra o Alcoolismo" => "#18-02", # (1) = 3/Sun/Feb ? "In�cio da Semana da Educa��o (1� Semana)" => "#02-07", # (1) = 1/Sun/Jul ? "In�cio da Semana do Ex�rcito" => "#18-08", # (1) = 3/Sun/Aug ? "In�cio da Semana do Livro Escolar" => "#19-08", # (1) = 3/Sun/Aug ? "In�cio da Semana do Portador de S�ndrome de Down" => "#21-08", # (1) = 4/Sun/Aug ? "In�cio da Semana da P�tria" => "#01-09", # (2) = 1/Sun/Sep ? "In�cio da Semana do Tr�nsito" => "#19-09", # (1) = 3/Sun/Sep ? "Dia do Tr�nsito" => "#25-09", # (2) "In�cio da Semana da Asa" => "#17-10", # (1) = 3/Sun/Oct ? "Dia do Agricultor" => "#28-07", # (2) "Dia do Engenheiro Agr�nomo" => "#12-10", # (1) "Dia do Agr�nomo" => "#11-12", # (1) "Dia Nacional da Alfabetiza��o" => "#08-09", # (2) # "Dia da Alfabetiza��o" => "#08-09", # (2) # "Dia Nacional da Alfabetiza��o" => "#14-11", # (1) # "Dia Nacional da Alfabetiza��o" => "#15-11", # (1) # "Dia da Amizade" => "#23-06", # (1) "Dia Internacional da Amizade" => "#20-07", # (1) "Dia Mundial da Amizade" => "#20-07", # (2) "Dia da Amizade" => "#20-07", # (1) "Dia do Amigo" => "#20-07", # (1) "Dia dos Aposentados" => "#24-01", # (1) "Dia do Professor Aposentado" => "#15-05", # (1) "Dia do Funcion�rio P�blico Aposentado" => "#17-06", # (2) "Dia do Aposentado" => "#08-11", # (1) "Dia do Idoso" => "#27-02", # (1) "Dia dos Idosos" => "#07-10", # (1) "Dia do Artista" => "#23-08", # (1) "Dia dos Artistas" => "#24-08", # (1) # "Dia do Atleta" => "#10-02", # (1) "Dia do Atletismo" => "#12-10", # (1) "Dia do Atleta Profissional" => "#19-12", # (1) "Dia do Atleta" => "#21-12", # (2) "Dia das Bandeiras" => "#30-05", # (1) "Dia dos S�mbolos Nacionais" => "#18-09", # (1) "Dia da Bandeira" => "#19-11", # (4) "Dia dos Bandeirantes" => "#08-08", # (1) "Dia do Bandeirante" => "#14-11", # (1) "Dia do Barbeiro" => "#06-09", # (1) "Dia do Barbeiro" => "#03-11", # (1) "Dia do Bombeiro" => "#01-07", # (1) "Dia dos Bombeiros Brasileiros" => "#02-07", # (1) "Dia do Industrial do Caf�" => "#12-03", # (1) "Dia Pan-Americano do Caf�" => "#14-04", # (1) "Dia do Caf�" => "#14-04", # (1) # "Dia do Caf�" => "#24-05", # (1) "Dia do Carteiro" => "#25-01", # (2) # "Dia do Carteiro" => "#05-08", # (1) "Cria��o dos Correios no Brasil" => "#25-01", # (1) "Dia do Correio" => "#08-04", # (1) "Dia do Correio A�reo Nacional" => "#12-06", # (1) "Dia Postal Mundial" => "#09-10", # (1) # "Dia Universal da Crian�a" => "#1/Mon/Oct", "Dia da Crian�a" => "#12-10", "Dia do Enfermo" => "#14-01", # (1) "Dia Mundial do Enfermo" => "#11-02", # (1) # "Dia da Escola" => "#15-03", # (1) "Dia da Escola" => "#19-03", # (3) "Dia do Escritor Paulista" => "#29-06", # (1) # "Dia do Escritor" => "#25-07", # (2) "Dia do Escritor" => "#13-10", # (3) "Dia do Estudante (Feriado Escolar)" => "#11-08", # (4) "Dia Internacional do Estudante" => "#17-11", # (1) # "Dia do Folclore" => "#19-08", # (1) "Dia do Folclore" => "#22-08", # (4) "Dia Mundial Sem Fumar" => "#07-04", # (1) "Dia Mundial do Combate ao Fumo" => "#31-05", # (1) "Dia Mundial Sem Tabaco" => "#31-05", # (1) "Dia Nacional de Combate ao Fumo" => "#29-08", # (1) "Dia do Fumar" => "#16-11", # (1) "Dia da Sa�de e Nutri��o" => "#31-03", # (1) "Dia Mundial da Sa�de" => "#07-04", # (4) "Dia Nacional da Sa�de" => "#05-08", # (4) "Dia da Sa�de Dent�ria" => "#25-10", # (1) "Dia Pan-Americano da Sa�de" => "#02-12", # (1) "Dia do Hino Nacional" => "#13-04", # (1) "Dia do Hino Nacional" => "#06-09", # (1) "Dia do Hoteleiro" => "#11-08", # (1) "Dia do Hoteleiro" => "#09-11", # (1) "Festa de Iemanj�" => "#02-02", # (2) # "Festa de Iemanj�" => "#08-12", # (1) "Festa de Iemanj� em S�o Paulo e Para�ba" => "#08-12", # (1) "Funda��o da Associa��o Brasileira de Imprensa (ABI)" => "#07-04", # (1) "Dia Nacional da Imprensa" => "#01-06", # (1) "Dia da Liberdade de Imprensa" => "#07-06", # (2) "Dia Internacional da Liberdade de Imprensa" => "#10-06", # (1) "Dia da Imprensa" => "#10-09", # (4) "Dia da Inf�ncia" => "#20-08", # (3) "Dia da Inf�ncia" => "#24-08", # (1) "Dia do Jornalista" => "#29-01", # (1) "Dia do Jornalismo" => "#07-04", # (2) "Dia Nacional do Jornaleiro" => "#30-09", # (1) "Dia dos Jovens" => "#13-04", # (2) "Dia Internacional do Jovem Trabalhador" => "#24-04", # (4) "Dia da Juventude Oper�ria Cat�lica" => "#29-04", # (1) "Dia da Juventude Constitucionalista" => "#23-05", # (1) "Dia Nacional da Juventude" => "#22-09", # (2) "Dia Mundial da Juventude" => "#04-10", # (1) "Dia Mundial do Leonino" => "#08-10", # (1) "Dia Mundial do Lions Clube" => "#10-10", # (1) "Dia do Livro" => "#19-03", # (2) # "Dia do Livro" => "#18-04", # (1) "Dia Nacional do Livro" => "#29-10", # (2) # "Dia do Livro" => "#23-11", # (1) "Dia Internacional do Livro" => "#23-11", # (1) "Dia Internacional do Livro Infantil" => "#02-04", # (3) # "Dia Internacional do Livro Infantil" => "#02-09", # (2) "Dia Nacional do Livro Infantil" => "#18-04", # (3) "Dia Oficial da M�sica" => "#21-11", # (1) "Dia do M�sico" => "#22-11", # (1) "Dia Mundial da �gua (ONU)" => "#22-03", # (2) "Dia da Organiza��o das Na�es Unidas (ONU)" => "#25-04", # (1) "Dia das Na�es Unidas (ONU) (1945)" => "#24-10", # (4) "N. Sra. Rainha da Paz" => "#09-07", # (1) "N. Sra. Rainha da Paz" => "#22-08", # (1) "N. Sra. da Penha (Feriado Escolar)" => "#24-04", # (1) # "N. Sra. da Penha" => "#24-04", # (2) # "N. Sra. da Penha" => "#08-09", # (1) "Dia da Liberdade de Pensamento" => "#14-07", # (2) "Dia do Pensamento" => "#13-08", # (1) "Dia do Petr�leo" => "#29-09", # (1) "Dia do Petr�leo Brasileiro" => "#03-10", # (2) "Dia do Profissional de Marketing" => "#08-04", # (1) "Dia do Profissional de Marketing" => "#08-05", # (1) "Dia do Publicit�rio" => "#01-02", # (1) "Dia do Publicit�rio" => "#04-12", # (1) "Dia do Rep�rter" => "#16-02", # (2) # "Dia do Rep�rter" => "#17-02", # (1) "Dia do Rep�rter Fotogr�fico" => "#02-09", # (1) # "Dia da Televis�o" => "#11-08", # (2) "Santa Clara de Assis (Padroeira da Televis�o)" => "#11-08", # (1) # "Dia da Padroeira da Televis�o (Santa Clara de Assis)" => "#12-08", # (1) "Santa Isabel" => "#04-07", # (1) "Santa Isabel" => "#05-11", # (1) "Santa Terezinha (Tereza do Menino Jesus)" => "#01-10", # (2) # "Santa Tereza" => "#15-10", # (1) "Dia Mundial das Voca�es Sacerdotais" => "#25-04", # (1) "Dia Mundial das Voca�es" => "#26-04", # (1) "Dia Mundial das Voca�es" => "#02-05", # (1) "Dia do Comiss�rio de Bordo" => "#31-05", # (1) "Dia Internacional do Controlador de V�o" => "#18-10", # (1) "Dia Mundial do Comiss�rio de V�o" => "#31-10", # (1) # Dias comemorativos fixos (sem garantias!): "Dia dos Munic�pios" => "#01-01", "Maria Sant�ssima M�e de Deus" => "#01-01", "Dia Nacional da Abreugrafia" => "#03-01", "Dia da Cria��o do Estado de Rond�nia-RO" => "#04-01", "Cria��o da Primeira Tipografia no Brasil" => "#05-01", "Reis Magos" => "#06-01", "Dia da Gratid�o" => "#06-01", "Dia da Liberdade de Cultos" => "#07-01", "Dia do Leitor" => "#07-01", "Batismo do Senhor" => "#08-01", "Dia do Fot�grafo" => "#08-01", "Dia do Fico" => "#09-01", "Dia do Empres�rio de Contabilidade" => "#12-01", "Cria��o do Museu Nacional de Belas Artes (1937)" => "#13-01", "Dia Mundial do Compositor" => "#15-01", "Dia do Museu de Arte Moderna do Rio de Janeiro" => "#15-01", "Dia dos Tribunais de Contas" => "#17-01", "Dia Nacional do Fusca" => "#20-01", "Dia de Oxal�" => "#20-01", "Dia do Farmac�utico" => "#20-01", "S�o Sebasti�o (Padroeiro da Cidade do Rio de Janeiro)" => "#20-01", "Dia Mundial da Religi�o" => "#21-01", "Santa In�s" => "#21-01", "S�o Vicente" => "#22-01", "Dia da Previd�ncia Social" => "#24-01", "Institui��o do Casamento C�vil no Brasil" => "#24-01", "Promulga��o da Constitui��o (1967)" => "#24-01", "Funda��o da Cidade de S�o Paulo (1554)" => "#25-01", "Eleva��o do Brasil a Vice-Reinado (1763)" => "#27-01", "Santa �ngela de M�dici" => "#27-01", "Abertura dos Pontos no Brasil (1808)" => "#28-01", "Dia Nacional das Hist�rias em Quadrinhos" => "#30-01", "Dia da Saudade" => "#30-01", "Dia do Portu�rio (Portu�ria)" => "#30-01", "Dia Mundial do M�gico" => "#31-01", "S�o Jo�o Bosco" => "#31-01", "Dia da Solidariedade" => "#31-01", "Dia do Agente Fiscal" => "#02-02", "N. Sra. dos Navegantes" => "#02-02", "S�o Br�s" => "#03-02", "Dia da Papiloscopia" => "#05-02", "Dia do Datiloscopista (Datiloscopia)" => "#05-02", "Dia do Gr�fico" => "#07-02", "Santa Apol�nia (Dentistas)" => "#09-02", "Cria��o da Casa da Moeda" => "#10-02", "Santa Escol�stica" => "#10-02", "Dia do Zelador" => "#11-02", "N. Sra. de Lourdes" => "#11-02", "Dia Estadual do Minist�rio P�blico (SP)" => "#12-02", "1� Transmiss�o da TV em Cores (1972)" => "#16-02", "Dia do Esportista" => "#19-02", "Data Festiva do Ex�rcito" => "#21-02", "Dia Nacional do Rotary (Dia do Rotariano)" => "#23-02", "Promulga��o da Primeira Constitui��o Republicana (1891)" => "#24-02", "Cria��o do Minist�rio das Comunica�es" => "#25-02", "Dia Nacional do Livro Did�tico" => "#27-02", "Dia do Agente Fiscal da Receita Federal" => "#27-02", "Dia da Vindima" => "#01-03", "Funda��o da Cidade do Rio de Janeiro (1565)" => "#01-03", "Dia Nacional do Turismo" => "#02-03", "Dia do Meteorologista" => "#03-03", "Dia do Filatelista Brasileiro" => "#05-03", "Dia dos Fuzileiros Navais" => "#07-03", "Dia Internacional da Mulher" => "#08-03", "Dia do Telefone" => "#10-03", "S�o Domingos S�vio" => "#10-03", "Dia do Bibliotec�rio" => "#12-03", "Funda��o da Cidade de Recife (1537)" => "#12-03", "Semana Nacional da Biblioteca" => "#12-03", "Dia Nacional da Poesia" => "#14-03", "Dia do Agente Aut�nomo de Investimentos" => "#14-03", "Dia do Conservador" => "#14-03", "Dia do Vendedor de Livros" => "#14-03", "Dia Mundial do Consumidor" => "#15-03", "Dia da Constitui��o" => "#15-03", "Dia do Carpinteiro" => "#19-03", "Dia do Consertador" => "#19-03", "Dia do Marceneiro" => "#19-03", "S�o Jos� (Padroeiro da Igreja Universal)" => "#19-03", "Dia Internacional para a Elimina��o da Discrimina��o Racial" => "#21-03", "Dia Universal do Teatro" => "#21-03", "Dia Internacional da Floresta" => "#21-03", "Dia Mundial do Meteorol�gico" => "#23-03", "Dia do Cacau" => "#26-03", "Dia do Circo" => "#27-03", "Dia do Diagramador" => "#28-03", "Dia do Revisor" => "#28-03", "Anivers�rio do Golpe Militar (1964)" => "#31-03", "Dia da Integra��o Nacional" => "#31-03", "Dia da Mentira" => "#01-04", "Dia do Humanismo" => "#01-04", "Dia do Propagandista" => "#02-04", "S�o Francisco de Paula" => "#02-04", "Dia Nacional do Parkinsoniano" => "#04-04", "Dia do Corretor" => "#07-04", "Dia do M�dico Legista" => "#07-04", "Dia Mundial do Combate ao C�ncer" => "#08-04", "Dia da Nata��o" => "#08-04", "Dia Nacional do A�o" => "#09-04", "Endoen�as" => "#09-04", "Dia da Engenharia do Ex�rcito Brasileiro" => "#10-04", "Funda��o do Ex�rcito da Salva��o" => "#10-04", "Anivers�rio da Organiza��o Internacional do Trabalho" => "#11-04", "Dia da Intend�ncia do Ex�rcito Brasileiro" => "#12-04", "Dia do Obstetra / da Obstetriz" => "#12-04", "Aniversario da Loteria Esportiva (1970)" => "#13-04", "Dia do Office-Boy" => "#13-04", "Dia Pan-Americano" => "#14-04", "Dia da Am�rica" => "#14-04", "Dia Mundial do Desenhista" => "#15-04", "Dia da Conserva��o do Solo" => "#15-04", "Dia da Conven��o do Solo" => "#15-04", "Dia do Desarmamento Infantil" => "#15-04", "Nascimento de Monteiro Lobato (Taubat�-SP)" => "#18-04", "Dia do �ndio" => "#19-04", "Santo Expedito" => "#19-04", "Dia do Diplomata" => "#20-04", "Dia da Latinidade" => "#21-04", "Dia da Pol�cia Civil" => "#21-04", "Dia Internacional da Terra" => "#21-04", "Dia do Metal�rgico" => "#21-04", "Funda��o da Cidade de Bras�lia-DF (1960)" => "#21-04", "Morre Tancredo de Almeida Neves (1985)" => "#21-04", "Descobrimento do Brasil (1500)" => "#22-04", "Dia Mundial da Terra" => "#22-04", "Dia da Avia��o de Ca�a" => "#22-04", "Dia da Comunidade Luso-Brasileira" => "#22-04", "Dia da For�a A�rea Brasileira" => "#22-04", "Dia do Planeta Terra" => "#22-04", "Dia Mundial do Escoteiro (Baden Powell Day)" => "#23-04", "Dia Mundial do Livro e do Direito Autoral" => "#23-04", "S�o Jorge" => "#23-04", "Dia do Agente de Viagem" => "#24-04", "Dia do Contabilista" => "#25-04", "S�o Marcos" => "#25-04", "Celebra��o da Primeira Missa no Brasil" => "#26-04", "Dia do Goleiro" => "#26-04", "Dia Nacional da Empregada Dom�stica" => "#27-04", "Dia do Sacerdote" => "#27-04", "Santa Zita" => "#27-04", "Dia da Educa��o" => "#28-04", "Dia da Sogra" => "#28-04", "Dia Nacional da Mulher" => "#30-04", "Dia da OEA (Organiza��o dos Estados Americanos)" => "#30-04", "Dia do Ferrovi�rio" => "#30-04", "Inaugura��o da Primeira Estrada de Ferro no Brasil" => "#30-04", "Dia da Literatura Brasileira" => "#01-05", "S�o Jos� Oper�rio" => "#01-05", "Dia Nacional do Ex-Combatente" => "#02-05", "Dia do Sertanejo" => "#03-05", "Dia do Taquigrafo" => "#03-05", "S�o Tiago" => "#03-05", "Dia Nacional das Comunica�es" => "#05-05", "Dia Nacional do Expedicion�rio" => "#05-05", "Dia da Comunidade" => "#05-05", "Dia das Comunica�es" => "#05-05", "Dia de Rondon" => "#05-05", "Dia do Pintor" => "#05-05", "Dia do Trabalhador Preso" => "#05-05", "Dia do Cart�grafo" => "#06-05", "Dia do Oftalmologista" => "#07-05", "Dia do Sil�ncio" => "#07-05", "Dia Internacional da Cruz Vermelha" => "#08-05", "Dia da Vit�ria (1945)" => "#08-05", "Dia do Artista Pl�stico" => "#08-05", "S�o Vitor" => "#08-05", "T�rmino da II Guerra Mundial (1945)" => "#08-05", "Dia da Cavalaria" => "#10-05", "Dia do Campo" => "#10-05", "Dia do Guia de Turismo" => "#10-05", "Dia da Integra��o do Tel�grafo no Brasil" => "#11-05", "Dia Mundial da Enfermeira" => "#12-05", "S�o Pancr�cio" => "#12-05", "Aboli��o da Escravatura, Lei �urea (1888)" => "#13-05", "Cria��o da Biblioteca Nacional, Rio de Janeiro-RJ (1811)" => "#13-05", "Dia da Estrada de Rodagem" => "#13-05", "Dia da Fraternidade Brasileira" => "#13-05", "Dia do Autom�vel" => "#13-05", "N. Sra. de F�tima" => "#13-05", "Dia Continental do Seguro" => "#14-05", "S�o Matias" => "#14-05", "Dia do Assistente Social" => "#15-05", "Dia do Gerente Banc�rio" => "#15-05", "Dia do Gari" => "#16-05", "Dia Internacional da Comunica��o e Telecomunica��o" => "#17-05", "Dia Internacional da Comunica��o Social" => "#18-05", "Dia Internacional dos Museus" => "#18-05", "Dia dos Vidreiros" => "#18-05", "Dia do Comiss�rio de Menores" => "#20-05", "Dia da L�ngua Nacional" => "#21-05", "Dia do Apicultor" => "#22-05", "Santa Rita" => "#22-05", "Dia da Infantaria" => "#24-05", "Dia do Datil�grafo" => "#24-05", "Dia do Detento" => "#24-05", "Dia do Telegrafista" => "#24-05", "Dia do Vestibulando" => "#24-05", "N. Sra. Auxiliadora" => "#24-05", "Dia da Ind�stria" => "#25-05", "Dia do Industrial" => "#25-05", "Dia do Massagista" => "#25-05", "Dia do Trabalhador Rural" => "#25-05", "Dia Nacional da Mata Atl�ntica" => "#27-05", "Dia do Profissional Liberal" => "#27-05", "Dia do Estat�stico" => "#29-05", "Dia do Ge�grafo" => "#29-05", "Dia do Ge�logo" => "#30-05", "Santa Joana d'Arc" => "#30-05", "Dia Mundial das Comunica�es Sociais" => "#31-05", "Dia do Esp�rito Santo" => "#31-05", "Primeira Transmiss�o de TV no Brasil (1950)" => "#01-06", "Dia do Duque de Caxias" => "#01-06", "Dia Mundial do Administrador de Pessoal" => "#03-06", "Dia Mundial do Meio Ambiente" => "#05-06", "Dia da Ecologia" => "#05-06", "Dia do Citricultor" => "#08-06", "Dia Nacional da Imuniza��o" => "#09-06", "Dia Nacional do Pe. Anchieta" => "#09-06", "Dia do Porteiro" => "#09-06", "Dia do T�nis e do Tenista" => "#09-06", "Dia da Artilharia" => "#10-06", "Dia da L�ngua Portuguesa" => "#10-06", "Dia da Ra�a" => "#10-06", "Batalha Naval do Riachuelo" => "#11-06", "Dia da Marinha Brasileira" => "#11-06", "Dia do Educador Sanit�rio" => "#11-06", "Dia dos Namorados" => "#12-06", "Criado o Jardim Bot�nico do Rio de Janeiro por D. Jo�o VI" => "#13-06", "Dia do Turista" => "#13-06", "Santo Ant�nio" => "#13-06", "Dia Universal de Deus" => "#14-06", "Dia do Solista" => "#14-06", "S�o Vito" => "#15-06", "Dia da Unidade Nacional" => "#16-06", "Dia da Imigra��o Japonesa" => "#18-06", "Dia do Qu�mico" => "#18-06", "Dia do Revendedor" => "#20-06", "Dia Nacional do Luto" => "#21-06", "Dia Universal Ol�mpico" => "#21-06", "Dia da M�dia" => "#21-06", "Dia do Mel" => "#21-06", "Dia do Migrante" => "#21-06", "Nascimento de Machado de Assis, Rio de Janeiro-RJ (1839)" => "#21-06", "Sagrado Cora��o de Jesus" => "#22-06", "Imaculado Cora��o de Maria" => "#23-06", "Dia Internacional do Leite" => "#24-06", "Dia da Comunidade Brit�nica" => "#24-06", "Dia das Empresas Gr�ficas" => "#24-06", "Dia do Caboclo" => "#24-06", "Festa Junina (Feriado Escolar)" => "#24-06", "S�o Jo�o Batista" => "#24-06", "Dia do Quilo" => "#25-06", "Dia Nacional de Combate �s Drogas" => "#26-06", "Dia Nacional do Progresso" => "#27-06", "Dia da Revolu��o Espiritual" => "#27-06", "Dia dos Artistas L�ricos" => "#27-06", "Dia da Renova��o Espiritual" => "#28-06", "Dia Internacional do Orgulho Gay" => "#29-06", "Dia da Telefonista" => "#29-06", "Dia do Papa" => "#29-06", "Dia do Pescador" => "#29-06", "S�o Pedro e S�o Paulo" => "#29-06", "Dia do Economi�rio" => "#30-06", "Dia da Vacina BCG" => "#01-07", "Institui��o do Real como Unidade Monet�ria (1994)" => "#01-07", "Dia do Hospital" => "#02-07", "S�o Tom�" => "#03-07", "Dia Internacional do Cooperativismo" => "#04-07", "Cria��o do IBGE (Instituto Brasileiro de Geografia e Estat�stica)" => "#06-07", "Santa Maria Goretti" => "#06-07", "Dia do Panificador" => "#08-07", "Dia do Soldado Constitucionalista" => "#09-07", "N. Sra. Mediug�rie" => "#09-07", "Promulga��o da Constitui��o Republicana (1932)" => "#09-07", "Dia da Pizza em S�o Paulo" => "#10-07", "Dia do Rondonista" => "#11-07", "S�o Bento" => "#11-07", "Dia do Engenheiro Florestal" => "#12-07", "Dia Mundial do Rock" => "#13-07", "Dia do Engenheiro de Saneamento" => "#13-07", "Dia dos Cantores e Compositores Sertanejos" => "#13-07", "Dia do Propagandista de Laborat�rio" => "#14-07", "S�o Camilo de L�lis" => "#14-07", "Dia Nacional dos Clubes" => "#15-07", "Dia do Comerciante" => "#16-07", "N. Sra. do Carmo" => "#16-07", "Dia do Protetor de Florestas" => "#17-07", "Dia da Coroa��o de D. Pedro" => "#18-07", "Dia Nacional do Futebol" => "#19-07", "Dia da Caridade" => "#19-07", "Dia da Junta Comercial" => "#19-07", "Dia Pan-Americano do Engenheiro" => "#20-07", "Dia do Revendedor (de Gasolina)" => "#20-07", "1� Vez Que o Homem Pisou na Lua (1969)" => "#21-07", "Santa Madalena" => "#22-07", "Dia da Declara��o da Maioridade de D. Pedro II (1840)" => "#23-07", "Dia do Guarda Rodovi�rio" => "#23-07", "Dia do Colono" => "#25-07", "Dia do Motorista" => "#25-07", "S�o Crist�v�o" => "#25-07", "Dia da Vov�" => "#26-07", "Santa Ana" => "#26-07", "S�o Joaquim" => "#26-07", "Dia Nacional de Preven��o de Acidentes de Trabalho" => "#27-07", "Dia do Motociclista" => "#27-07", "Santa Marta" => "#29-07", "S�o In�cio de Loyola" => "#31-07", "Dia Nacional do S�lo" => "#01-08", "Dia do Tintureiro" => "#03-08", "S�o Jo�o Maria Vianei" => "#04-08", "N. Sra. das Neves" => "#05-08", "Bom Jesus" => "#06-08", "S�o Caetano" => "#07-08", "Dia do Padre" => "#08-08", "S�o Louren�o" => "#10-08", "Dia Internacional da Logosofia" => "#11-08", "Dia da Consci�ncia Nacional" => "#11-08", "Dia da Pintura" => "#11-08", "Dia do Advogado" => "#11-08", "Dia do Direito" => "#11-08", "Dia do Gar�om" => "#11-08", "Dia do Magistrado" => "#11-08", "Dia Nacional das Artes" => "#12-08", "N. Sra. das Cabe�as" => "#12-08", "Dia do Economista" => "#13-08", "Dia do Encarcerado" => "#13-08", "Dia da Unidade Humana" => "#14-08", "Assun��o de Nossa Senhora" => "#15-08", "Dia da Inform�tica" => "#15-08", "Dia dos Solteiros" => "#15-08", "N. Sra. da Gl�ria" => "#15-08", "S�o Roque" => "#16-08", "Cria��o do Instituto Hist�rico e Geogr�fico, Rio de Janeiro-RJ (1838)" => "#18-08", "Santa Helena" => "#18-08", "Dia Mundial da Fotografia" => "#19-08", "Dia do Artista de Teatro" => "#19-08", "Dia do Ma�om" => "#20-08", "Dia do Excepcional" => "#22-08", "Dia Internacional em Mem�ria da Escravid�o e da Aboli��o" => "#23-08", "Dia da Injusti�a" => "#23-08", "Santa Rosa de Lima" => "#23-08", "S�o Bartolomeu" => "#24-08", "Dia do Ex�rcito Brasileiro" => "#25-08", "Dia do Feirante" => "#25-08", "Dia do Soldado" => "#25-08", "Dia Nacional do Psic�logo" => "#27-08", "Dia do Corretor de Im�veis" => "#27-08", "Santa M�nica" => "#27-08", "Dia Nacional dos Banc�rios" => "#28-08", "Dia da Avicultura" => "#28-08", "Santo Agostinho" => "#28-08", "Dia do Nutricionista" => "#31-08", "S�o Raimundo Nonato" => "#31-08", "Dia do Bi�logo" => "#03-09", "Dia da Amaz�nia" => "#05-09", "Dia do Oficial de Farm�cia" => "#05-09", "Dia do Alfaiate" => "#06-09", "Natividade de Nossa Senhora" => "#08-09", "Dia do Administrador" => "#09-09", "Dia do Veterin�rio" => "#09-09", "Dia da Cruz" => "#14-09", "Dia do Frevo" => "#14-09", "N. Sra. das Dores" => "#15-09", "S�o Cipriano" => "#16-09", "Dia da Compreens�o Mundial" => "#17-09", "Promulga��o da Constitui��o do Brasil (1946)" => "#18-09", "Dia do Teatro" => "#19-09", "S�o Genaro" => "#19-09", "Dia do Funcion�rio Municipal" => "#20-09", "Dia do Ga�cho" => "#20-09", "Dia do Policial Civil" => "#20-09", "Dia Nacional da Radiodifus�o" => "#21-09", "Dia da �rvore" => "#21-09", "Dia do Fazendeiro" => "#21-09", "Dia do Radialista" => "#21-09", "Dia do Radio" => "#21-09", "Santa Efig�nia" => "#21-09", "S�o Mateus" => "#21-09", "Dia do Soldador" => "#23-09", "Dia Interamericano/Internacional de Rela�es P�blicas" => "#26-09", "Dia Mundial do Turismo" => "#27-09", "Dia do Anci�o" => "#27-09", "Dia do Encanador" => "#27-09", "S�o Cosme e Dami�o" => "#27-09", "S�o Vicente de Paulo" => "#27-09", "Dia da Lei do Sexagen�rio" => "#28-09", "Dia da M�e Preta" => "#28-09", "Lei do Ventre Livre Sancionada pela Princesa Isabel (1871)" => "#28-09", "Dia do Anunciante" => "#29-09", "Dia do Professor de Educa��o F�sica" => "#29-09", "Santos Arcanjos" => "#29-09", "S�o Gabriel" => "#29-09", "S�o Miguel" => "#29-09", "Dia Internacional da Navega��o" => "#30-09", "Dia Mundial do Tradutor" => "#30-09", "Dia da Secret�ria" => "#30-09", "S�o Jer�nimo" => "#30-09", "Dia Nacional do Vereador" => "#01-10", "Dia Pan-Americano do Vendedor" => "#01-10", "Dia do Representante Comercial" => "#01-10", "Dia da Esquadra" => "#01-10", "Dia do Anjo da Guarda" => "#02-10", "Dia das Abelhas" => "#03-10", "Dia Mundial do Dentista" => "#03-10", "Dia do Latino-Americano" => "#03-10", "Dia Internacioanl dos Animais" => "#03-10", "Dia da Ave" => "#04-10", "Dia da Natureza" => "#04-10", "Dia do Barman" => "#04-10", "Dia do C�o" => "#04-10", "Dia do Poeta" => "#04-10", "Dia do Radio Interamericano" => "#04-10", "S�o Francisco de Assis" => "#04-10", "Dia Internacional da Ecologia" => "#04-10", "Dia Mundial dos Animais" => "#05-10", "Dia das Aves" => "#05-10", "Promulga��o da Nova Constitui��o do Brasil (1988)" => "#05-10", "S�o Benedito" => "#05-10", "Dia do Compositor" => "#07-10", "N. Sra. do Ros�rio" => "#07-10", "Dia do Nordestino" => "#08-10", "N. Sra. de Nazar�" => "#10-10", "Dia do Deficiente F�sico" => "#11-10", "Dia do Teatro Municipal" => "#11-10", "Descobrimento da Am�rica (1492)" => "#12-10", "Dia da Aclama��o de D. Pedro I" => "#12-10", "Dia da Cirurgia Infantil" => "#12-10", "Dia do Mar" => "#12-10", "Inaugura��o do Cristo Redentor Rio de Janeiro-RJ" => "#12-10", "Dia da Terapia Ocupacional" => "#13-10", "Dia do Fisioterapeuta" => "#13-10", "Dia Nacional da Pecu�ria" => "#14-10", "Dia da Normalista" => "#15-10", "Dia do Professor" => "#15-10", "Dia Mundial da Alimenta��o" => "#16-10", "Santa Edwirges (Endividados)" => "#16-10", "Dia da Industria Aeron�utica Brasileira" => "#17-10", "Dia do Eletricista" => "#17-10", "Dia do Estivador" => "#18-10", "Dia do M�dico" => "#18-10", "Dia do Pintor (de Parede, de Carro)" => "#18-10", "S�o Lucas (M�dicos)" => "#18-10", "Dia do Contato" => "#21-10", "Dia do MacKenzie" => "#21-10", "Comemora��o do 1� V�o de Santos Dumont pilotando o 14 Bis (1906)" => "#23-10", "Dia da Avia��o e do Aviador" => "#23-10", "Dia Mundial do Desenvolvimento" => "#24-10", "Dia da Democracia" => "#25-10", "Dia das Miss�es" => "#25-10", "Dia do Dentista Brasileiro" => "#25-10", "Dia do Sapateiro" => "#25-10", "Dia da Universidade Cat�lica" => "#28-10", "Dia do Funcion�rio P�blico" => "#28-10", "S�o Judas Tadeu (Causas Imposs�veis)" => "#28-10", "Dia da Decora��o" => "#30-10", "Dia do Balconista" => "#30-10", "Dia do Comerci�rio" => "#30-10", "S�o Geraldo" => "#30-10", "Dia Mundial da Poupan�a" => "#31-10", "Todos os Santos" => "#01-11", "S�o L�zaro" => "#02-11", "Dia do Cabeleireiro" => "#03-11", "Dia do Inventor" => "#04-11", "Dia Nacional da Cultura" => "#05-11", "Dia da Ci�ncia" => "#05-11", "Dia do Cinema Brasileiro" => "#05-11", "Dia do Radio-Amador" => "#05-11", "Dia do T�cnico em Eletr�nica" => "#05-11", "A��o Cat�lica" => "#07-11", "Dia Nacional dos Tribunais de Conta" => "#07-11", "Dia Mundial do Urbanismo" => "#08-11", "Dia do Munic�pio" => "#09-11", "Dia do Trigo" => "#10-11", "Dia do Soldado Desconhecido" => "#11-11", "Dia do Supermercado" => "#12-11", "Anivers�rio do Minist�rio da Educa��o" => "#14-11", "Dia Nacional da Alfabetiza��o" => "#14-11", "Dia do Esporte Amador" => "#15-11", "Santos Roque Gonzalez e Companheiros" => "#19-11", "Dia Nacional da Consci�ncia Negra" => "#20-11", "Dia do Datiloscopista Brasileiro" => "#20-11", "Dia da Homeopatia" => "#21-11", "Dia das Sauda�es" => "#21-11", "Dia da Solidariedade com o Povo Liban�s" => "#22-11", "Santa Cec�lia" => "#22-11", "Dia Nacional do Doador de Sangue" => "#25-11", "Dia da Baiana do Acaraj�" => "#25-11", "Santa Catarina" => "#26-11", "N. Sra. das Gra�as" => "#27-11", "Dia Mundial de A��o de Gra�as" => "#28-11", "Santo Andr� (Ap�stolo)" => "#30-11", "Dia Mundial de Preven��o contra AIDS" => "#01-12", "Dia do Imigrante" => "#01-12", "Dia do Numismata" => "#01-12", "Dia Nacional da Astronomia" => "#02-12", "Dia Nacional das Rela�es P�blicas" => "#02-12", "Dia Nacional do Samba" => "#02-12", "S�o Francisco Xavier" => "#03-12", "Dia Mundial da Propaganda" => "#04-12", "Dia Nacional do Minist�rio P�blico" => "#04-12", "Dia do Orientador Educacional" => "#04-12", "Dia do Pod�logo" => "#04-12", "Dia do Trabalhador em Minas de Carv�o" => "#04-12", "Santa B�rbara" => "#04-12", "Dia da Funda��o da Associa��o Comercial de S�o Paulo (1894)" => "#07-12", "UNESCO Declara Bras�lia Patrim�nio Cultural da Humanidade (1987)" => "#07-12", "Anivers�rio da Avenida Paulista S�o Paulo-SP (1891)" => "#08-12", "Dia Nacional da Fam�lia" => "#08-12", "Imaculada Concei��o" => "#08-12", "Dia da Justi�a" => "#08-12", "Dia do Cronista Esportivo" => "#08-12", "Dia da Crian�a Defeituosa" => "#09-12", "Dia do Alco�latra Recuperado" => "#09-12", "Dia do Fono�udiologo" => "#09-12", "Declara��o Universal dos Direitos Humanos" => "#10-12", "Dia do Palha�o" => "#10-12", "Dia do Arquiteto" => "#11-12", "Dia do Engenheiro" => "#11-12", "Dia do Tango" => "#11-12", "N. Sra. de Guadalupe" => "#12-12", "Dia do Avaliador" => "#13-12", "Dia do Cego" => "#13-12", "Dia do Marinheiro" => "#13-12", "Dia do �tico" => "#13-12", "Santa Luzia" => "#13-12", "Dia do Reservista" => "#16-12", "Dia do Mec�nico" => "#20-12", "Dia do Vizinho" => "#23-12", "Dia do �rf�o" => "#24-12", "Dia da Lembran�a" => "#26-12", "Santo Estev�o" => "#26-12", "Festa da Sagrada Fam�lia" => "#27-12", "Dia do Salva-Vidas" => "#28-12", "S�o Silvestre (Reveillon)" => "#31-12" }; $Profiles->{'BR-AC'} = # Acre { %{$Profiles->{'BR'}} }; $Profiles->{'BR-AL'} = # Alagoas { %{$Profiles->{'BR'}} }; $Profiles->{'BR-AP'} = # Amap� { %{$Profiles->{'BR'}} }; $Profiles->{'BR-AM'} = # Amazonas { %{$Profiles->{'BR'}} }; $Profiles->{'BR-BA'} = # Bahia { %{$Profiles->{'BR'}} }; $Profiles->{'BR-CE'} = # Cear� { %{$Profiles->{'BR'}} }; $Profiles->{'BR-DF'} = # Distrito Federal { %{$Profiles->{'BR'}}, "Funda��o da Cidade de Bras�lia-DF (1960)" => "#21-04" # feriado em Bras�lia ? }; $Profiles->{'BR-ES'} = # Esp�rito Santo { %{$Profiles->{'BR'}}, "N. Sra. da Penha" => "#24-04", # feriado em Vit�ria e Vila Velha "Dia da Cidade de Vit�ria" => "#08-09", # feriado s� em Vit�ria "Dia da Coloniza��o do Solo Esp�ritosantense" => "#23-05" # feriado s� em Vila Velha }; $Profiles->{'BR-GO'} = # Goi�s { %{$Profiles->{'BR'}} }; $Profiles->{'BR-MA'} = # Maranh�o { %{$Profiles->{'BR'}} }; $Profiles->{'BR-MT'} = # Mato Grosso { %{$Profiles->{'BR'}} }; $Profiles->{'BR-MS'} = # Mato Grosso do Sul { %{$Profiles->{'BR'}} }; $Profiles->{'BR-MG'} = # Minas Gerais { %{$Profiles->{'BR'}} }; $Profiles->{'BR-PR'} = # Paran� { %{$Profiles->{'BR'}} }; $Profiles->{'BR-PB'} = # Para�ba { %{$Profiles->{'BR'}} }; $Profiles->{'BR-PA'} = # Par� { %{$Profiles->{'BR'}} }; $Profiles->{'BR-PE'} = # Pernambuco { %{$Profiles->{'BR'}}, "Funda��o da Cidade de Recife (1537)" => "#12-03" # feriado em Recife ? }; $Profiles->{'BR-PI'} = # Piau� { %{$Profiles->{'BR'}} }; $Profiles->{'BR-RN'} = # Rio Grande do Norte { %{$Profiles->{'BR'}} }; $Profiles->{'BR-RS'} = # Rio Grande do Sul { %{$Profiles->{'BR'}} }; $Profiles->{'BR-RJ'} = # Rio de Janeiro { %{$Profiles->{'BR'}}, "S�o Sebasti�o (Padroeiro da Cidade do Rio de Janeiro)" => "#20-01", # feriado no Rio de Janeiro "Funda��o da Cidade do Rio de Janeiro (1565)" => "#01-03" # feriado no Rio de Janeiro }; $Profiles->{'BR-RO'} = # Rond�nia { %{$Profiles->{'BR'}}, "Dia da Cria��o do Estado de Rond�nia-RO" => "#04-01", # feriado ? "Dia de Rondon" => "#05-05", # feriado ? "Dia do Rondonista" => "#11-07" # feriado ? }; $Profiles->{'BR-RR'} = # Roraima { %{$Profiles->{'BR'}} }; $Profiles->{'BR-SC'} = # Santa Catarina { %{$Profiles->{'BR'}} }; $Profiles->{'BR-SE'} = # Sergipe { %{$Profiles->{'BR'}} }; $Profiles->{'BR-SP'} = # S�o Paulo { %{$Profiles->{'BR'}}, "Funda��o da Cidade de S�o Paulo (1554)" => "#25-01", # feriado em S�o Paulo }; $Profiles->{'BR-TO'} = # Tocantins { %{$Profiles->{'BR'}} }; # Thanks to: # Daniel Crown <daniel@mailgratis.com.ar> $Profiles->{'AR'} = # Argentina { "A�o Nuevo" => "01-01", "D�a de los Reyes (Epifan�a)" => "06-01", "D�a de Malvinas" => "02-04", "Jueves Santo" => "-3", "Viernes Santo" => "-2", "Domingo de P�scuas" => "+0", "Lunes de P�scuas" => "+1", "D�a del Trabajo" => "01-05", "Revoluci�n de Mayo" => "25-05", "Soberan�a de las Islas Malvinas" => "10-06", "D�a del Padre" => "3/Sun/Jun", "D�a de la Bandera" => "20-06", "D�a del Ni�o" => "03-07", "D�a de la Independencia" => "09-07", "D�a de Eva Peron" => "26-07", "La Asunci�n" => "15-08", "D�a de San Martin" => "17-08", "Muerte de San Martin" => "18-08", "D�a de la Raza" => "12-10", "D�a de la Madre" => "3/Sun/Oct", "D�a de Todos los Santos" => "01-11", "Inmaculada Concepci�n" => "08-12", "Navidad" => "25-12" }; # Thanks to: # Jabu Virginia Duma, Giant's Castle Lodge, # Drakensberg, 3310 Estcourt, KwaZulu-Natal # Dirk Swart <dirk@clickshare.com> <dirk@tristar.co.za> # http://www.gov.za/sa_overview/holidays.htm # http://www.gov.za/events/previous/y2kholidays.htm # Hilda de Jager <Hildadj@gcis.pwv.gov.za> # Hennie Meyer <Henniem@dbs1.pwv.gov.za> $Profiles->{'ZA'} = # South Africa { "Special Y2K Holiday #1" => \&ZA_Y2K_1, "Special Y2K Holiday #2" => \&ZA_Y2K_2, "Special Y2K Holiday #3" => \&ZA_Y2K_3, "New Year's Day" => \&ZA_New_Year, "Human Rights Day" => \&ZA_Human_Rights, "Good Friday" => "-2", "Easter Sunday" => "+0", "Family Day" => "+1", "Freedom Day" => \&ZA_Freedom, "Workers Day" => \&ZA_Workers, "Youth Day (Soweto Day)" => \&ZA_Youth, "National Women's Day" => \&ZA_Women, "Heritage Day" => \&ZA_Heritage, "Day of Reconciliation" => \&ZA_Reconciliation, "Christmas" => \&ZA_Christmas, "Day of Goodwill" => \&ZA_Goodwill }; sub ZA_Y2K_1 { my($year,$label) = @_; if ($year == 1999) { return(1999,12,31); } else { return(); } } sub ZA_Y2K_2 { my($year,$label) = @_; if ($year == 2000) { return(2000,1,2); } else { return(); } } sub ZA_Y2K_3 { my($year,$label) = @_; if ($year == 2000) { return(2000,1,3); } else { return(); } } sub ZA_New_Year { my($year,$label) = @_; return( &Sunday_to_Monday($year,1,1) ); } sub ZA_Human_Rights { my($year,$label) = @_; return( &Sunday_to_Monday($year,3,21) ); } sub ZA_Freedom { my($year,$label) = @_; return( &Sunday_to_Monday($year,4,27) ); } sub ZA_Workers { my($year,$label) = @_; return( &Sunday_to_Monday($year,5,1) ); } sub ZA_Youth { my($year,$label) = @_; return( &Sunday_to_Monday($year,6,16) ); } sub ZA_Women { my($year,$label) = @_; return( &Sunday_to_Monday($year,8,9) ); } sub ZA_Heritage { my($year,$label) = @_; return( &Sunday_to_Monday($year,9,24) ); } sub ZA_Reconciliation { my($year,$label) = @_; return( &Sunday_to_Monday($year,12,16) ); } sub ZA_Christmas { my($year,$label) = @_; return( &Sunday_to_Monday($year,12,25) ); } sub ZA_Goodwill { my($year,$label) = @_; return( &Sunday_to_Monday($year,12,26) ); } $Profiles->{'ZA-WC'} = # Western Cape { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-EC'} = # Eastern Cape { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-NC'} = # Northern Cape { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-FS'} = # Free State { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-NW'} = # North West { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-GA'} = # Gauteng { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-NP'} = # Northern Province { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-MP'} = # Mpumalanga { %{$Profiles->{'ZA'}} }; $Profiles->{'ZA-KZN'} = # KwaZulu-Natal { %{$Profiles->{'ZA'}} }; $Profiles->{'sdm'} = # software design & management AG { "Heiligabend" => ":24.12.", "Sylvester" => ":31.12." }; $Profiles->{'sdm-MUC'} = { %{$Profiles->{'DE-BY'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-STG'} = { %{$Profiles->{'DE-BW'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-FFM'} = { %{$Profiles->{'DE-HE'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-BON'} = { %{$Profiles->{'DE-NW'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-CGN'} = { %{$Profiles->{'DE-NW'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-RAT'} = { %{$Profiles->{'DE-NW'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-HAN'} = { %{$Profiles->{'DE-NI'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-HH'} = { %{$Profiles->{'DE-HH'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-BLN'} = { %{$Profiles->{'DE-BE'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-DET'} = { %{$Profiles->{'US-MI'}}, %{$Profiles->{'sdm'}} }; $Profiles->{'sdm-ZRH'} = { %{$Profiles->{'CH-DE'}}, %{$Profiles->{'sdm'}} }; 1; __END__