在php中错误的复活节日期

rek*_*ire 2 php date

我试着在php中计算复活节日期.

echo(date("2012: t.n.Y", easter_date(2012)).'<br>'); // 2012: 30.4.2012
Run Code Online (Sandbox Code Playgroud)

这个日期对于东正教教堂来说是正确的.但我想要正常的!

我的下一个尝试easter_days功能:

function easter($year) {
    $date = new DateTime($year.'-03-21');
    $date->add(new DateInterval('P'.easter_days($year).'D'));
    echo $year.": ".$date->format('t.m.Y') . "<br>\n";
}

easter(2012); // 2012: 30.4.2012
Run Code Online (Sandbox Code Playgroud)

测试过PHP 5.2.6和5.3.6.我也试图改变时区但没有成功.

Der*_*rVO 6

您的日期格式错误.t是给定月份的天数(4月= 30).使用d该月的一天:

echo(date("d.m.Y", easter_date(2012)).'<br>');
// will output: 08.04.2012
Run Code Online (Sandbox Code Playgroud)

顺便说一句:正统的复活节日期是今年4月15日.