feestdagen-berekenen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
function Datumfeestdag($jaar,$feestdag){
// berekening conform http://members.lycos.nl/bouwzelf/paasdata.htm#calc
$a = $jaar % 19;
$b = intval($jaar/100);
$c = $jaar % 100;
$d = intval($b/4);
$e = $b % 4;
$g = intval((8 * $b + 13) / 25);
$theta = intval((11 * ($b - $d - $g) - 4) / 30);
$phi = intval((7 * $a + $theta + 6) / 11);
$psi = (19 * $a + ($b - $d - $g) + 15 -$phi) % 29;
$i = intval($c / 4);
$k = $c % 4;
$lamda = ((32 + 2 * $e) + 2 * $i - $k - $psi) % 7;
$maand = intval((90 + ($psi + $lamda)) / 25);
$dag = (19 + ($psi + $lamda) + $maand) % 32;
Switch( $feestdag ){
Case 0: $datumfeestdag = mktime (1,1,1,1,1,$jaar); break; // Nieuwjaarsdag
Case 1: $datumfeestdag = mktime (0,0,0,$maand,$dag-2,$jaar); break; // Goede Vrijdag
Case 2: $datumfeestdag = mktime (0,0,0,$maand,$dag,$jaar); break; // 1e Paasdag
Case 3: $datumfeestdag = mktime (0,0,0,$maand,$dag+1,$jaar); break; // 2e Paasdag
Case 4: $datumfeestdag = mktime (0,0,0,4,30,$jaar); break; // Koninginnedag
Case 5: $datumfeestdag = mktime (0,0,0,$maand,$dag+39,$jaar); break; // Hemelvaart
Case 6: $datumfeestdag = mktime (0,0,0,$maand,$dag+49,$jaar); break; // 1e Pinksterdag
Case 7: $datumfeestdag = mktime (0,0,0,$maand,$dag+50,$jaar); break; // 2e Pinksterdag
Case 8: $datumfeestdag = mktime (0,0,0,12,25,$jaar); break; // 1e Kerstdag
Case 9: $datumfeestdag = mktime (0,0,0,12,26,$jaar); break; // 2e Kerstdag
}
Return Date("l d-m-Y",$datumfeestdag);
}
?>
function Datumfeestdag($jaar,$feestdag){
// berekening conform http://members.lycos.nl/bouwzelf/paasdata.htm#calc
$a = $jaar % 19;
$b = intval($jaar/100);
$c = $jaar % 100;
$d = intval($b/4);
$e = $b % 4;
$g = intval((8 * $b + 13) / 25);
$theta = intval((11 * ($b - $d - $g) - 4) / 30);
$phi = intval((7 * $a + $theta + 6) / 11);
$psi = (19 * $a + ($b - $d - $g) + 15 -$phi) % 29;
$i = intval($c / 4);
$k = $c % 4;
$lamda = ((32 + 2 * $e) + 2 * $i - $k - $psi) % 7;
$maand = intval((90 + ($psi + $lamda)) / 25);
$dag = (19 + ($psi + $lamda) + $maand) % 32;
Switch( $feestdag ){
Case 0: $datumfeestdag = mktime (1,1,1,1,1,$jaar); break; // Nieuwjaarsdag
Case 1: $datumfeestdag = mktime (0,0,0,$maand,$dag-2,$jaar); break; // Goede Vrijdag
Case 2: $datumfeestdag = mktime (0,0,0,$maand,$dag,$jaar); break; // 1e Paasdag
Case 3: $datumfeestdag = mktime (0,0,0,$maand,$dag+1,$jaar); break; // 2e Paasdag
Case 4: $datumfeestdag = mktime (0,0,0,4,30,$jaar); break; // Koninginnedag
Case 5: $datumfeestdag = mktime (0,0,0,$maand,$dag+39,$jaar); break; // Hemelvaart
Case 6: $datumfeestdag = mktime (0,0,0,$maand,$dag+49,$jaar); break; // 1e Pinksterdag
Case 7: $datumfeestdag = mktime (0,0,0,$maand,$dag+50,$jaar); break; // 2e Pinksterdag
Case 8: $datumfeestdag = mktime (0,0,0,12,25,$jaar); break; // 1e Kerstdag
Case 9: $datumfeestdag = mktime (0,0,0,12,26,$jaar); break; // 2e Kerstdag
}
Return Date("l d-m-Y",$datumfeestdag);
}
?>