Если вы хотите использовать класс DateTime, следующее даст вам объект DateTime, установленный на Пасху. Используйте easter_date()
вместо того, чтобы возиться с easter_days()
:
function easter($year, $format = 'd.m.Y') {
$easter = new DateTime('@' . easter_date($year));
// if your timezone is already correct, the following line can be removed
$easter->setTimezone(new DateTimeZone('Europe/Berlin'));
return $easter->format($format);
}
echo easter(2012); // 08.04.2012
echo easter(2012, 'd.m.Y H:i'); // 08.04.2012 00:00
Timezone
Установка часового пояса необходима только тогда, когда часовой пояс по умолчанию неправильный. Должен быть установлен позже, так как он игнорируется в конструкторе, когда предоставляется метка времени Unix.
В противном случае конструктор DateTime
может выдавать неправильную дату (например, 07.04.2012 22: 00 для 2012 года вместо 08.04.2012 00: 00 )