Avatar billede nemlig Professor
16. april 2011 - 22:42 Der er 5 kommentarer og
1 løsning

Function til at hente danske helligdage

Hejsa.
Jeg kan forstå på historiske indlæg her på Eksperten, at der ikke har været en indbygget function i PHP til at hente de danske helligdage.
Nogen der ved, om det er blevet muligt og hvis ikke, om nogen kan henvise til en færdig funktion. Jeg regner med, at det er påskedagene, der er særligt udfordrende.
Avatar billede olsensweb.dk Ekspert
16. april 2011 - 22:56 #1
går ud fra du har læst http://www.eksperten.dk/spm/935876

noget lidt omskrevet fra mit eget arkiv, nogle af de variable heligdage baseret på påske, og nogle af de faste hellig/mærke dage

 <?php
// http://dk2.php.net/manual/en/function.easter-days.php
define ("ONEDAY", 86400);  // (60*60*24)
function holidays($year){               
    // $year = intval(date('Y'));
    $easter = mktime(0, 0, 0, 3, (21 + (easter_days($year))), $year);
    $holidays = array();       
    $holidays[] = array( $easter-(49*ONEDAY),          'Fastelavn', 'mærke' );
    $holidays[] = array( $easter-(7*ONEDAY),           'Palmesøndag', 'hellig' );
    $holidays[] = array( $easter-(3*ONEDAY),           'Skærtorsdag', 'hellig' );
    $holidays[] = array( $easter-(2*ONEDAY),           'Langfredag', 'hellig' );
    $holidays[] = array( $easter,                    'Påskedag', 'hellig' );
    $holidays[] = array( $easter+(1*ONEDAY),           '2. påskedag', 'hellig' );
    $holidays[] = array( $easter+(26*ONEDAY),          'Store bededag', 'hellig' );
    $holidays[] = array( $easter+(39*ONEDAY),          'Kristi Himmelfartsdag ', 'hellig' );
    $holidays[] = array( $easter+(49*ONEDAY),          'Pinsedag', 'hellig' );
    $holidays[] = array( $easter+(50*ONEDAY),          '2. pinsedag', 'hellig' );
    $holidays[] = array( mktime(0,0,0,1,1,  $year),     'nytårsdag', 'mærke' );
    $holidays[] = array( mktime(0,0,0,2,14, $year),     'Valentinsdag', 'mærke' );
    $holidays[] = array( mktime(0,0,0,6,5,  $year),     'Grundlovs dag', 'hellig' );
    $holidays[] = array( mktime(0,0,0,12,24,$year),     'juleaften', 'mærke' );
    $holidays[] = array( mktime(0,0,0,12,25,$year),     'juledag', 'hellig' );
    $holidays[] = array( mktime(0,0,0,12,26,$year),     '2. juledag', 'hellig' );
    $holidays[] = array( mktime(0,0,0,12,31,$year),     'nytårs aften', 'mærke' );       
    return $holidays;
} // end holidays()
?>
Avatar billede showsource Seniormester
17. april 2011 - 13:31 #2
Hva' mæ Fars Dag ?
Er det ikke en helligdag? :O)
Avatar billede olsensweb.dk Ekspert
17. april 2011 - 14:20 #3
nej fars dag er bare alm arbejds dag :(, men den bliver markeret alligevel da den falder sammen med grundlovsdag (5, juni), og den bliver markeret, dog kun med ½ fridag
http://www.historie-online.dk/special/farsdag/index.htm
http://www.historie-online.dk/special/grundlov/index.htm
http://www.dr.dk/Nyheder/Penge/2009/06/03/151006.htm

[dig]
 $holidays[] = array( mktime(0,0,0,6,5,  $year),     'Grundlovs dag', ' ½ hellig' );
$holidays[] = array( mktime(0,0,0,6,5,  $year),     'Fars dag', 'mærke' );
[/div]
Avatar billede nemlig Professor
17. april 2011 - 14:21 #4
#1 Sejt - lige hvad jeg mangler. Tusind tak for det. Sendt venligst et svar.

#2 jo og den helligste af alle :)
Avatar billede olsensweb.dk Ekspert
17. april 2011 - 14:21 #5
stavefejl:)
 
$holidays[] = array( mktime(0,0,0,6,5,  $year),     'Grundlovs dag', ' ½ hellig' );
$holidays[] = array( mktime(0,0,0,6,5,  $year),     'Fars dag', 'mærke' );
Avatar billede olsensweb.dk Ekspert
18. april 2011 - 14:45 #6
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester