easter_days

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

easter_daysObtém o número de dias depois de 21 de março no qual a Páscoa cai para um determinado ano

Descrição

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

Retorna o número de dias depois de 21 de março no qual a Páscoa cai para um determinado ano. Se nenhum ano for especificado, o ano atual é assumido como parâmetro.

Esta função pode ser usada no lugar de easter_date() para calculas a Páscoa para anos que caiam fora do intervalo de timestamps Unix (isto é, antes de 1970 ou depois de 2037).

A data do Dia de Páscoa foi definida pelo Concílio de Niceia no ano 325 D.C. como o domingo após a primeira lua cheia que caia no Equinócio de Primavera ou depois dele. Assume-se que o Equinócio seja sempre no dia 21 de março, portanto o cálculo se reduz a determinar a data da lua cheia e a data do domingo seguinte. O algoritmo usado aqui foi introduzido por volta do ano 532 por Dionísio, o Exíguo. Sob o calendário Juliano (para anos anteriores a 1753) um ciclo simples de 19 anos é usado para acompanhar as fases da lua. Sob o calendário Gregoriano (para anos posteriores a 1753 - concebido por Cristóvão Clávio e Luís Lílio, e introduzido pelo Papa Gregório XIII em outubro de 1582, e na Grã-Bretanha e suas então colônias em setembro de 1752) dois fatores de correção são adicionados para deixar o ciclo mais preciso.

Parâmetros

year

O ano como número positivo. Se omitido ou null, é usado como padrão o ano atual conforme o horário local.

mode

Permite que datas de Páscoa sejam calculadas com base no calendário Gregoriano durante os anos 1582 a 1752 quando definido para CAL_EASTER_ROMAN. Consulte também as constantes de calendário para mais constantes válidas.

Valor Retornado

O número de dias depois de 21 de março onde cai o domingo de Páscoa no ano informado no parâmetro year.

Registro de Alterações

Versão Descrição
8.0.0 year agora pode ser nulo.

Exemplos

Exemplo #1 Exemplo de easter_days()

<?php

echo easter_days(1999); // 14, isto é, 4 de abril
echo easter_days(1492); // 32, isto é, 22 de abril
echo easter_days(1913); // 2, isto é, 23 de março

?>

Veja Também

  • easter_date() - Obtém o timestamp Unix para a meia-noite local da Páscoa de um ano informado

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
5
p dot rijt at caesar dot nl
10 years ago
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, ...).<?phpfunction 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>';}?>
up
1
ian at eiloart dot com-NOSPAM
23 years ago
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.
To Top