Visa ett inlägg
Oläst 2008-07-16, 14:38 #10
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jag skrev en PHP-funktion som räknar ut helgdagarna åt mig automatiskt, så jag slipper mata in varje år för sig...

Kod:
	/**
 * Räknar ut helgdagar för ett givet år.
 * Notera att alla dessa dagar inte är "röda dagar" enligt definitionen, men att många är lediga från arbetet dessa dagar.
 *
 * @param $år int
 * @return array
 * @author Jonathan Persson ([email protected])
 */
	function rödaDagar($år) {
 $dygn = 60*60*24; // antal sekunder på ett dygn
 
 $påskdagen = easter_date($år);
 
 // räkna ut när långfredagen är.
 $i = 0;
 while(!isset($långfredagen)) {
 	$i++;
 	$dag = $påskdagen-($i*$dygn);
 	
 	if(date("N", $dag) == 5)
  $långfredagen = $dag;
 }
 
 // räkna ut när midsommardagen är.
 for($i=$år."0620"; $i<$år."0626"; $i++) {
 	if(date("N", strtotime($i)) == 6)
  $midsommardagen = strtotime($i);
 }
 
 // räkna ut när alla helgons dag är.
 for($i=$år."1101"; $i<$år."1106"; $i++) {
 	if(date("N", strtotime($i)) == 6)
  $alla_helgons_dag = strtotime($i);
 }
 
 // om ingen av dagarna mellan 1/11 och 6/11 är en lördag så är alla helgons dag 10/31.
 if(!isset($alla_helgons_dag))
 	$alla_helgons_dag = strtotime("$år-10-31");
 
 return array(
 	"Nyårsdagen" => "$år-01-01",
 	"Trettondedag jul" => "$år-01-06",
 	"Skärtorsdagen " => date("Y-m-d", $långfredagen-(1*$dygn)),
 	"Långfredag" => date("Y-m-d", $långfredagen),
 	"Påskdagen" => date("Y-m-d", $påskdagen),
 	"Annandag påsk" => date("Y-m-d", $påskdagen+(1*$dygn)),
 	"Valborgsmässoafton " => "$år-04-30",
 	"Första maj" => "$år-05-01",
 	"Kristi himmelsfärdsdag" => date("Y-m-d", $påskdagen+(39*$dygn)),
 	"Pingstdagen" => date("Y-m-d", $påskdagen+(49*$dygn)),
 	"Sveriges nationaldag" => "$år-06-06",
 	"Midsommardagen" => date("Y-m-d", $midsommardagen),
 	"Alla helgons dag" => date("Y-m-d", $alla_helgons_dag),
 	"Julafton" => "$år-12-24",
 	"Juldagen" => "$år-12-25",
 	"Annandag jul" => "$år-12-26",
 	"Nyårsafton" => "$år-12-31"
 );
	}
Jonathan P är inte uppkopplad   Svara med citatSvara med citat