Skip to content

Instantly share code, notes, and snippets.

@kingkorf
Forked from tvlooy/feestdagen.php
Created May 17, 2013 15:34
Show Gist options
  • Save kingkorf/5599860 to your computer and use it in GitHub Desktop.
Save kingkorf/5599860 to your computer and use it in GitHub Desktop.
<?php
/* Alle feestdagen kunnen berekend worden, de berekende zijn allemaal
* afhankelijk van pasen. PHP heeft een functie easter_date().
* Makkie dus. Hoe easter_date() zelf werkt kan je hier raadplegen:
* http://svn.php.net/viewvc/php/php-src/trunk/ext/calendar/easter.c?view=markup
*/
$jaar = 2012;
// 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");
$kerstmis = new \DateTime($jaar . "-12-25");
// berekend
$pasen = new \DateTime();
$pasen->setTimestamp(easter_date($jaar)); // bedankt PHP
$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 "\nFeestdagen $jaar\n---------------\n\n" .
$nieuwjaar->format('D d/M/Y') . " : Nieuwjaar\n" .
$pasen->format('D d/M/Y') . " : Pasen\n" .
$paasMaandag->format('D d/M/Y') . " : Paasmaandag\n" .
$feestVdArbeid->format('D d/M/Y') . " : Feest van de arbeid\n" .
$olhHemelvaart->format('D d/M/Y') . " : O.L.H. Hemelvaart\n" .
$pinksteren->format('D d/M/Y') . " : Pinksteren\n" .
$pinksterMaandag->format('D d/M/Y') . " : Pinkstermaandag\n" .
$nationaal->format('D d/M/Y') . " : Nationale feestdag\n" .
$olvHemelvaart->format('D d/M/Y') . " : O.L.V. Hemelvaart\n" .
$allerheiligen->format('D d/M/Y') . " : Allerheiligen\n" .
$wapenstilstand->format('D d/M/Y') . " : Wapenstilstand\n" .
$kerstmis->format('D d/M/Y') . " : Kerstmis\n" .
"\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment