note 117383 added to function.easter-days

From: Date: Mon, 01 Jun 2015 15:20:33 +0000
Subject: note 117383 added to function.easter-days
Groups: php.notes 
Request: Send a blank email to php-notes+get-202714@lists.php.net to get a copy of this message
This function returns an array of timestamp corresponding to Dutch National holidays. Liberation Day (Bevrijdingsdag) is added as a National holiday once every five years (2000, 2005, 2010, ...). <?php function getHolidays($year = null) { if ($year === null) { $year = intval(date('Y')); } $easterDate = easter_date($year); $easterDay = date('j', $easterDate); $easterMonth = date('n', $easterDate); $easterYear = date('Y', $easterDate); $holidays = array( // Nieuwjaarsdag mktime(0, 0, 0, 1, 1, $year), // 1e Kerstdag mktime(0, 0, 0, 12, 25, $year), // 2e Kerstdag mktime(0, 0, 0, 12, 26, $year) ); // Bevrijdingsdag if (($year % 5) == 0) { $holidays[] = mktime(0, 0, 0, 5, 5, $year); } // Koninginnedag (< 2014) of Koningsdag (>= 2014). // Verplaats naar zaterdag als het valt op zondag. if ($year <= 2013) { // Koninginnedag <= 2013 if (date('w', mktime(0, 0, 0, 4, 30, $year)) == 0) { // Op zondag? $holidays[] = mktime(0, 0, 0, 4, 29, $year); // Verplaats naar zaterdag } else { $holidays[] = mktime(0, 0, 0, 4, 30, $year); // Koninginnedag } } else { // Koningsdag > 2014 if (date('w', mktime(0, 0, 0, 4, 27, $year)) == 0) { // Op zondag? $holidays[] = mktime(0, 0, 0, 4, 26, $year); // Verplaats naar zaterdag } else { $holidays[] = mktime(0, 0, 0, 4, 27, $year); // Koningsdag } } // Onderstaande dagen hebben een datum afhankelijk van Pasen // Goede Vrijdag (= pasen - 2) $holidays[] = strtotime('-2 days', mktime(0, 0, 0, $easterMonth, $easterDay, $easterYear)); // 1e Paasdag $holidays[] = mktime(0, 0, 0, $easterMonth, $easterDay, $easterYear); // 2e Paasdag (= pasen +1) $holidays[] = strtotime('+1 days', mktime(0, 0, 0, $easterMonth, $easterDay, $easterYear)); // Hemelvaartsdag (= pasen + 39) $holidays[] = strtotime('+39 days', mktime(0, 0, 0, $easterMonth, $easterDay, $easterYear)); // 1e Pinksterdag (= pasen + 49) $holidays[] = strtotime('+49 days', mktime(0, 0, 0, $easterMonth, $easterDay, $easterYear)); // 2e Pinksterdag (= pasen + 50) $holidays[] = strtotime('+50 days', mktime(0, 0, 0, $easterMonth, $easterDay, $easterYear)); sort($holidays); return $holidays; } $holidays = getHolidays(2014); foreach ($holidays as $holiday) { echo date('d-M-Y', $holiday) . '<br>'; } ?> ---- Server IP: 72.52.91.14 Probable Submitter: 90.145.202.210 ---- Manual Page -- http://php.net/manual/en/function.easter-days.php Edit -- https://master.php.net/note/edit/117383 Del: integrated -- https://master.php.net/note/delete/117383/integrated Del: useless -- https://master.php.net/note/delete/117383/useless Del: bad code -- https://master.php.net/note/delete/117383/bad+code Del: spam -- https://master.php.net/note/delete/117383/spam Del: non-english -- https://master.php.net/note/delete/117383/non-english Del: in docs -- https://master.php.net/note/delete/117383/in+docs Del: other reasons-- https://master.php.net/note/delete/117383 Reject -- https://master.php.net/note/reject/117383 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#202714) next »