PHP.mk документација

easter_days

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.easter-days.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.easter-days.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
easter_days

Референца за `function.easter-days.php` со подобрена типографија и навигација.

function.easter-days.php

easter_days

(PHP 4, PHP 5, PHP 7, PHP 8)

easter_daysДобијте број на денови по 21 март на кој паѓа Велигден за дадена година

= NULL

easter_days(?int $year = null, int $mode = CAL_EASTER_DEFAULT): int

Враќа број на денови по 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 забелешки

p dot rijt at caesar dot nl
пред 10 години
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>';
}
?>
ian at eiloart dot com-NOSPAM
figroc at gmail dot com
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.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.