datum pasen dit jaar, daarop volgend en een jaar daarna.

Door Bouke hofman, 8 jaar geleden, 17.247x bekeken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
$jaar
= date("Y");
// berekend
$pasen = new \DateTime();
$pasen->setTimestamp(easter_date($jaar)); // bedankt PHP
$paasdagen=$pasen->format('dmY');
$vergelijk=date("dmY");

echo '<script>';
echo 'var paasdagen = ' . json_encode($paasdagen) . ';';
echo 'var vergelijk = ' . json_encode($vergelijk) . ';';
echo '</script>';
?>


<script>
var d = new Date();
var n = d.getDay();
if (paasdagen == vergelijk) // het is pasen.
   {
  document.open();
    document.write("<video width='300' height='100' controls autoplay loop>");
    document.write("<source src='liedjepasen.ogg' type='video/ogg'>");
    document.write("<source src='liedjepasen.mp4' type='video/mp4'>");
    document.write("</video>");
    document.close();
    }

else if
  ((n) == 0 && (paasdagen != vergelijk)) // vandaag is het zondag en het is geen pasen
    {
    document.open();
    document.write("<video width='300' height='100' controls autoplay loop>");
    document.write("<source src='liedjezondag.ogg' type='video/ogg'>");
    document.write("<source src='liedjezondag.mp4' type='video/mp4'>");
    document.write("</video>");
    document.close();      
    }
else
    {
    document.open();
    document.close();    
    }
</script>

?>

<html>
<div align=center>
<br>
<Table width=960 border=1 bordercolor="darkred" align="center">
<TR><TD width=320 align=left>

</html>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/* Een aantal feestdagen zijn afhankelijk van pasen.
 * PHP heeft een functie easter_date().
 * we maken een tabel waarin de dagen van dit jaar, het volgende jaar
 * en het jaar daarop komen te staan.
 */

// $jaar

 

$jaar = date("Y");

// vaste dagen
$nieuwjaar      = new \DateTime($jaar . "-01-01");
$feestVdArbeid  = new \DateTime($jaar . "-05-01");
$nationaal      = new \DateTime($jaar . "-07-21");
$olvHemelvaart  = new \DateTime($jaar . "-08-15");
$allerheiligen  = new \DateTime($jaar . "-11-01");
$wapenstilstand = new \DateTime($jaar . "-11-11");
$kerstmis1       = new \DateTime($jaar . "-12-25");
$kerstmis2       = new \DateTime($jaar . "-12-26");

// berekend
$pasen = new \DateTime();
$pasen->setTimestamp(easter_date($jaar)); // bedankt PHP
$paasdagen=$pasen->format('dmY');

  

$paasMaandag = clone $pasen;
$paasMaandag->add(new \DateInterVal('P1D')); // 1 dag na pasen
$olhHemelvaart = clone $pasen;
$olhHemelvaart->add(new \DateInterVal('P39D')); // 39 dagen na pasen
$pinksteren = clone $olhHemelvaart;
$pinksteren->add(new \DateInterVal('P10D')); // 10 dagen na OLH hemelvaart
$pinksterMaandag = clone $pinksteren;
$pinksterMaandag->add(new \DateInterVal('P1D')); // 1 dag na pinksteren



echo "<b>"."\nFeestdagen. $jaar\n\n\n" . "(met dank aan PHP)". "</b>". "<br>" .
     "Zondag  ".$pasen->format('d - F - Y') . " : 1e Paasdag\n" . "<br>" .
     "Maandag  ".$paasMaandag->format('d - F - Y') . " : Paasmaandag\n" . "<br>" .
    
     "Donderdag  ".$olhHemelvaart->format('d - M - Y') . " : Hemelvaart\n" . "<br>" .
     "Zondag  ".$pinksteren->format('d - F - Y') . " : 1e Pinksterdag\n" . "<br>" .
     "Maandag  ".$pinksterMaandag->format('d - F - Y') . " : Pinkstermaandag\n" . "<br>" .
    
     $kerstmis1->format('l d - F - Y') . " : 1e Kerstdag\n" . "<br>" .
     $kerstmis2->format('l d - F - Y') . " : 2e Kerstdag\n" . "<br>" .
     "\n";
?>

<html>
<TD width=320 align=left>
</html>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
41
42
43
<?php
$jaar
= date("Y");
$jaar = $jaar+1; // volgend jaar berekenen en weergeven.
// vaste dagen

$nieuwjaar      = new \DateTime($jaar . "-01-01");
$feestVdArbeid  = new \DateTime($jaar . "-05-01");
$nationaal      = new \DateTime($jaar . "-07-21");
$olvHemelvaart  = new \DateTime($jaar . "-08-15");
$allerheiligen  = new \DateTime($jaar . "-11-01");
$wapenstilstand = new \DateTime($jaar . "-11-11");
$kerstmis1      = new \DateTime($jaar . "-12-25");
$kerstmis2      = new \DateTime($jaar . "-12-26");

// berekend
$pasen = new \DateTime();
$pasen->setTimestamp(easter_date($jaar)); // bedankt PHP
$paasdagen=$pasen->format('dmY');

  

$paasMaandag = clone $pasen;
$paasMaandag->add(new \DateInterVal('P1D')); // 1 dag na pasen
$olhHemelvaart = clone $pasen;
$olhHemelvaart->add(new \DateInterVal('P39D')); // 39 dagen na pasen
$pinksteren = clone $olhHemelvaart;
$pinksteren->add(new \DateInterVal('P10D')); // 10 dagen na OLH hemelvaart
$pinksterMaandag = clone $pinksteren;
$pinksterMaandag->add(new \DateInterVal('P1D')); // 1 dag na pinksteren



echo "<b>"."\nFeestdagen. $jaar\n\n\n" . "(met dank aan PHP)". "</b>". "<br>" .
     "Zondag  ".$pasen->format('d - F - Y') . " : 1e Paasdag\n" . "<br>" .
     "Maandag  ".$paasMaandag->format('d - F - Y') . " : Paasmaandag\n" . "<br>" .
    
     "Donderdag  ".$olhHemelvaart->format('d - M - Y') . " : Hemelvaart\n" . "<br>" .
     "Zondag  ".$pinksteren->format('d - F - Y') . " : 1e Pinksterdag\n" . "<br>" .
     "Maandag  ".$pinksterMaandag->format('d - F - Y') . " : Pinkstermaandag\n" . "<br>" .
    
     $kerstmis1->format('l d - F - Y') . " : 1e Kerstdag\n" . "<br>" .
     $kerstmis2->format('l d - F - Y') . " : 2e Kerstdag\n" . "<br>" .
     "\n";
?>


<html>
<TD width=320 align=left>
</html>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
41
42
<?php
$jaar
= date("Y");
$jaar = $jaar+2; // over 2 jaar berekenen en weergeven
// vaste dagen

$nieuwjaar      = new \DateTime($jaar . "-01-01");
$feestVdArbeid  = new \DateTime($jaar . "-05-01");
$nationaal      = new \DateTime($jaar . "-07-21");
$olvHemelvaart  = new \DateTime($jaar . "-08-15");
$allerheiligen  = new \DateTime($jaar . "-11-01");
$wapenstilstand = new \DateTime($jaar . "-11-11");
$kerstmis1       = new \DateTime($jaar . "-12-25");
$kerstmis2       = new \DateTime($jaar . "-12-26");

// berekend
$pasen = new \DateTime();
$pasen->setTimestamp(easter_date($jaar)); // bedankt PHP
$paasdagen=$pasen->format('dmY');

  

$paasMaandag = clone $pasen;
$paasMaandag->add(new \DateInterVal('P1D')); // 1 dag na pasen
$olhHemelvaart = clone $pasen;
$olhHemelvaart->add(new \DateInterVal('P39D')); // 39 dagen na pasen
$pinksteren = clone $olhHemelvaart;
$pinksteren->add(new \DateInterVal('P10D')); // 10 dagen na OLH hemelvaart
$pinksterMaandag = clone $pinksteren;
$pinksterMaandag->add(new \DateInterVal('P1D')); // 1 dag na pinksteren



echo "<b>"."\nFeestdagen. $jaar\n\n\n" . "(met dank aan PHP)". "</b>". "<br>" .
     "Zondag  ".$pasen->format('d - F - Y') . " : 1e Paasdag\n" . "<br>" .
     "Maandag  ".$paasMaandag->format('d - F - Y') . " : Paasmaandag\n" . "<br>" .
    
     "Donderdag  ".$olhHemelvaart->format('d - M - Y') . " : Hemelvaart\n" . "<br>" .
     "Zondag  ".$pinksteren->format('d - F - Y') . " : 1e Pinksterdag\n" . "<br>" .
     "Maandag  ".$pinksterMaandag->format('d - F - Y') . " : Pinkstermaandag\n" . "<br>" .
     $kerstmis1->format('l d - F - Y') . " : 1e Kerstdag\n" . "<br>" .
     $kerstmis2->format('l d - F - Y') . " : 2e Kerstdag\n" . "<br>" .
     "\n";
?>

<html>
</TD></TR></Table>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
?>

Gesponsorde koppelingen

PHP script bestanden

  1. berekenenfeestdagen.php

 

Er zijn 1 reacties op 'Datum pasen dit jaar daarop volgend en een jaar daarna'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Bart Smulders
Bart Smulders
8 jaar geleden
 
0 +1 -0 -1
Het antwoord op je vraag is "ja!"

Link naar het antwoord https://www.beleven.org/feesten/kalenders/kerkelijke_kalender.php

Of het kan ook nog beter uitgelegd met deze formule
De officiële berekening van Pasen gebeurt met de volgende formule:

ia = mod (jaar, 19)
ib = year / 100
ic = year - ib * 100
id = ib / 4
ie = ib - id * 4
if = (ib + 8) / 25
ig = (ib - if + 1) / 3
ih = mod (ia * 19 + ib - id - ig + 15 , 30)
ii = ic / 4
ik = ic - ii * 4
il = mod (32 + 2 * ie + 2 * ii - ih - ik , 7)
im = (ia + 11 * ih + 22 * il) / 451
iq = ih + il - 7 * im + 114
maand = iq / 31
dag = iq - in * 31 + 1


Hierbij staat "mod (x, y)" voor "rest bij deling van x door y", en hierbij moeten alle delingen als gehele bewerkingen uitgevoerd worden, dus alleen het gehele deel van het quotiënt nemen. Zo krijgen we voor 2019 achtereenvolgens

ia = 5
ib = 20
ic = 19
id = 5
ie = 0
if = 1
ig = 6
ih = 29
ii = 4
ik = 3
il = 1
im = 0
iq = 144
maand = 4 = april
dag = 21

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. berekenenfeestdagen.php

Labels

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.