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>';
}
?>easter_days
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
easter_days
Референца за `function.easter-days.php` со подобрена типографија и навигација.
easter_days
(PHP 4, PHP 5, PHP 7, PHP 8)
easter_days — Добијте број на денови по 21 март на кој паѓа Велигден за дадена година
= NULL
Враќа број на денови по 21 март на кој паѓа Велигден за дадена година. Ако не е специфицирана година, се претпоставува тековната година.
Оваа функција може да се користи наместо easter_date() за пресметување на Велигден за години кои се надвор од опсегот на Unix временски марки (т.е. пред 1970 или по 2037).
Датумот на Велигден е дефиниран од Советот во Никеја во 325 година како Недела по првата полна месечина што паѓа на или по Пролетната рамнодневница. Рамнодневницата се претпоставува дека секогаш паѓа на 21 март, така што пресметката се сведува на одредување на датумот на полната месечина и датумот на следната Недела. Алгоритмот што се користи овде е воведен околу 532 година од страна на Дионисиј Екзигус. Според Јулијанскиот календар (за години пред 1753) се користи едноставен 19-годишен циклус за следење на фазите на Месечината. Според Грегоријанскиот календар (за години по 1753 - измислен од Клавиус и Лилиус, и воведен од Папата Григориј XIII во октомври 1582 година, и во Британија и нејзините тогашни колонии во септември 1752 година) се додаваат два корективни фактори за да се направи циклусот попрецизен.
Параметри
year-
Годината како позитивен број. Ако е изоставено или
null, стандардно се зема тековната година според локалното време. mode-
Овозможува датумите на Велигден да се пресметуваат врз основа на Грегоријанскиот календар за годините 1582 - 1752 кога е поставено на
CAL_EASTER_ROMAN. Погледнете ја константи на календарот за повеќе валидни константи.
Вратени вредности
Бројот на денови по 21 март кога е неделата на Велигден во дадената year.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
year сега е null.
|
Примери
Пример #1 easter_days() example
<?php
echo easter_days(1999); // 14, i.e. April 4
echo easter_days(1492); // 32, i.e. April 22
echo easter_days(1913); // 2, i.e. March 23
?>Види Исто така
- easter_date() - Добијте Unix временски печат за локално полноќ на Велигден за дадена година
Белешки од корисници 2 забелешки
Also, be aware that the eastern orthodox churches sometimes have different dates for easter. See, for example <http://webexhibits.org/calendars/calendar-christian-easter.html>. And note that the dates of easter a subject to change, for example, the churches might some day decide to unify the dates.