array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.easter-date.php', 1 => 'easter_date', ), 'up' => array ( 0 => 'ref.calendar.php', 1 => 'Calendário Funções', ), 'prev' => array ( 0 => 'function.cal-to-jd.php', 1 => 'cal_to_jd', ), 'next' => array ( 0 => 'function.easter-days.php', 1 => 'easter_days', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/calendar/functions/easter-date.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
easter_date — Obtém o timestamp Unix para a meia-noite da Páscoa de um ano informado
Retorna o timestamp Unix correspondente à meia-noite de Páscoa do ano informado.
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.
year
O ano deve ser um número entre 1970 e 2037 para sistemas de 32 bits, ou entre 1970 e 2.000.000.000 para sistemas de 64 bits.
Se omitido ou null
, será usado o padrão que é o ano atual conforme o horário local.
mode
Permite que datas de Páscoa sejam calculadas com base no calendário Juliano quando definido
para CAL_EASTER_ALWAYS_JULIAN
. Consulte também as
constantes de calendário.
A data de Páscoa como um timestamp Unix.
Uma exceção ValueError é lançada se o ano for anterior a 1970 ou posterior a 2037 em sistemas de 32 bits, ou posterior a 2.000.000.000 em sistemas de 64 bits.
Versão | Descrição |
---|---|
8.3.0 |
Em sistemas de 64 bits, o parâmetro year agora aceita valores na faixa de 1970 a 2.000.000.000.
|
8.0.0 |
year agora pode ser nulo.
|
8.0.0 |
Uma exceção ValueError agora é lançada quando
year estiver fora do intervalo permitido.
Anteriormente, um E_WARNING era emitido
e a função retornava false .
|
Exemplo #1 Exemplo de easter_date()
<?php
echo date("M-d-Y", easter_date(1999)); // Apr-04-1999
echo date("M-d-Y", easter_date(2000)); // Apr-23-2000
echo date("M-d-Y", easter_date(2001)); // Apr-15-2001
?>
Exemplo #2 Usando easter_date() com DateTime
<?php
$timestamp = easter_date(2023);
$datetime = new \DateTime();
$datetime->setTimestamp($timestamp);
echo $datetime->format('M-d-Y'); // Apr-09-2023
?>
Nota:
easter_date() depende das funções de horário da biblioteca C do sistema, ao invés de usar as funções de data e horário internas do PHP. Como uma consequência, easter_date() usa a variável de ambiente
TZ
para determinar o fuso horário onde ela deve operar, ao invés de usar o fuso horário padrão do PHP, o que pode retultar em comportamento inesperado ao usar esta função em conjunto com outras funções de data no PHP.Como uma maneira de contornar isso, pode-se usar easter_days() com DateTime e DateInterval para calcular o início da Páscoa no fuso horário do PHP como no exemplo a seguir:
<?php
function get_easter_datetime($year) {
$base = new DateTime("$year-03-21");
$days = easter_days($year);
return $base->add(new DateInterval("P{$days}D"));
}
foreach (range(2012, 2015) as $year) {
printf("Páscoa em %d é no dia %s\n",
$year,
get_easter_datetime($year)->format('d/m'));
}
?>O exemplo acima produzirá:
Páscoa em 2012 é no dia 08/04 Páscoa em 2013 é no dia 31/03 Páscoa em 2014 é no dia 20/04 Páscoa em 2015 é no dia 05/04