Avatar billede nissen2630 Novice
03. november 2010 - 17:01 Der er 6 kommentarer og
2 løsninger

Danske arbejds fridage/helligdage

Er der en der kan finde en base med datoer for helligdage og fridage til et stykke ud i fremtiden ?

Takker på forhånd.
Avatar billede nissen2630 Novice
03. november 2010 - 17:06 #1
Kan lige tilføje at det skal bruges i sammenhæng med en måneds seddel lavet i PHP.
Avatar billede showsource Seniormester
03. november 2010 - 18:14 #2
Kender ikke løsningen, men med php kan du få påskedag med easter_date() for et givent år.
Og ud fra den kan helligdage beregnes.
Avatar billede ggxdg Nybegynder
03. november 2010 - 18:17 #3
http://da.wikipedia.org/wiki/Helligdag

Jeg forsøgte på at lave et script en gang der kunne regne det ud, men månen er ikke ligefrem nem at regne på uden at vide super meget om hvordan den opfører sig, så je strandede lidt der...

alt andet end helligdagene er heldigvis dato, eller ugenummer bestemt...


http://www.tlib.dk/kode/kalender.php

http://www.tlib.dk/kode/kalender.phps

Men se lidt på ovenstående links, og se om du kan bruge det til noget...
Avatar billede nissen2630 Novice
03. november 2010 - 19:37 #4
brugte denne løsning

<?php
    $year =2011;
 
    $utime = easter_date($year);
    echo date("d-m-Y",$utime-(86400*3)).'<br>'; // Skærtorsdag
    echo date("d-m-Y",$utime-(86400*2)).'<br>'; // Langfredag
    echo date("d-m-Y",$utime).'<br>'; // påskesøndag
    echo date("d-m-Y",$utime+86400).'<br>'; // 2 påskedag

    echo date("d-m-Y",$utime+(86400*26)).'<br>'; // Stor bededag
    echo date("d-m-Y",$utime+(86400*39)).'<br>'; // Kristi luftfartsdag

    echo date("d-m-Y",$utime+(86400*49)).'<br>'; // pinsedag
    echo date("d-m-Y",$utime+(86400*50)).'<br>'; // 2 pinsedag

?>


Så er det jo bare at smide det i en base inkl alle vores faste fridage. Takker for hjælpen.

Brugte lidt af begge så smid et svar
Avatar billede sth Novice
03. november 2010 - 21:50 #5
i asp vil dette kunne beregne påske:

<%


'aar=2006
'skal være mellem 1901 & 2199
aar = Year(Date())
m= array(0,1,4,4,0,2,5,0,3,6,1,4,6)
dg= array("Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag")

gyldental=(aar+1) mod 19

'response.write"gyldental :" &gyldental
if gyldental=0 then gyldental=19

epakt= ((gyldental-1)*11)mod 30
if aar>1899 and aar<2200 then epakt=epakt-1
if aar>2199 and aar<2300 then epakt=epakt-2
if aar>2299 and aar<2400 then epakt=epakt-3
if aar>2399 and aar<2500 then epakt=epakt-2
if aar>2499 and aar<2600 then epakt=epakt-3
if aar>2599 and aar<2900 then epakt=epakt-4
epakt=epakt mod 30

DagTilFj=80
if gyldental=6 or gyldental=17 then DagTilFj=81
alder=(epakt+DagTilFj) mod 30
if alder<=13 then antaldg=13-alder
if alder>13 then antaldg=43-alder

fuldmaane=21+antaldg
if fuldmaane<=31 then
    dato=fuldmaane
    maaned=3
else
    dato=fuldmaane-31
    maaned=4
end if
response.write"fuldmåne:" &dato&"/"&maaned&"<br>"

korrektion=(5+aar+aar\4-aar\100+aar\400) mod 7
if aar/4=int(aar/4) and (maaned=1 or maaned=2) then
    if aar/100<>int(aar/100) then korrektion=korrektion-1
    if aar/100 =int(aar/100) then korrektion=korrektion-1
end if
u=(dato+m(maaned)+korrektion)mod 7

Paaske=dato+7-u
if paaske>31 then
    paaske=paaske-31
    maaned=4
end if
'response.write " Påske " & aar &": "& paaske & "/" & maaned &"<br>"
str= paaske & "/" & maaned &"/"& aar


If Date() =  cdate(str)-49 Then
    dag = "lukket"
ElseIf Date() =  cdate(str)-7 then
    dag = "lukket"

ElseIf Date() =  cdate(str)-7 then
    dag = "lukket"

ElseIf Date() =  cdate(str)-3 then
    dag = "lukket"

ElseIf Date() =  cdate(str)-2 then
    dag = "lukket"

ElseIf Date() =  cdate(str) then
    dag = "lukket"

ElseIf Date() =  cdate(str)+1 then
    dag = "lukket"

ElseIf Date() =  cdate(str)+26 then
    dag = "lukket"

ElseIf Date() =  cdate(str)+36 then
    dag = "lukket"

ElseIf Date() =  cdate(str)+39 then
    dag = "lukket"

ElseIf Date() =  cdate(str)+49 then
    dag = "lukket"

ElseIf Date() =  cdate(str)+50 then
    dag = "lukket"


ElseIf Date() =  cdate(str)+50 then
    dag = "lukket"

Else
dag= "ikke_lukket"
End If

response.write " <BR> " & dag


%>
Avatar billede showsource Seniormester
04. november 2010 - 06:00 #6
svar
Avatar billede ggxdg Nybegynder
04. november 2010 - 10:54 #7
svar
Avatar billede nissen2630 Novice
04. november 2010 - 17:43 #8
Vil lige tilføje at der virker perfekt.

<?php
    include("database.php"); // min database login
   
    for ($year = 2010; $year <= 2037; $year++) { // easter_date når kun til 2037
       
        $utime = easter_date($year);
        $fridage = array(
        $year.'-01-01',
        $year.'-05-01',
        $year.'-12-24',
        $year.'-12-25',
        $year.'-12-26',
        $year.'-12-31',
        date("Y-m-d",$utime-(86400*3)), // Skærtorsdag
        date("Y-m-d",$utime-(86400*2)), // Langfredag
        date("Y-m-d",$utime), // påskesøndag
        date("Y-m-d",$utime+86400), // 2 påskedag

        date("Y-m-d",$utime+(86400*26)), // Stor bededag
        date("Y-m-d",$utime+(86400*39)), // Kristi luftfartsdag

        date("Y-m-d",$utime+(86400*49)), // pinsedag
        date("Y-m-d",$utime+(86400*50))  // 2 pinsedag
        );
   
        sort($fridage);
        //echo count($fridage);
        for ($i = 0; $i < count($fridage); $i ++){
            $sql = "INSERT INTO `helligdage` (`Helligdag`) VALUES ('$fridage[$i]')";
            echo $sql.'<br>';
            $result = mysql_query($sql);
        }
    }
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
Computerworld tilbyder specialiserede kurser i database-management

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