2016-05-24 16 views
0

こんにちは私は月と年の休日を取得するコードを使用して、この関数はeaster_date内部PHPコードに依存してイースター日付のexact日付を計算します。easter_date PHP計算の一日のサーバー内での短い

echo date('Y-m-d',easter_date($year)); 

が、サーバに、それは1日までに短いですが、私はなぜ知らない: 問題は、機能がローカルホストで動作し、次のコードは、右のイースター西部日付「2016年3月27日」を与えています同じ機能が私に返されます '2016-03-26'

私はcakephpを使っています。事前

+3

あなたのサーバーのタイムゾーンは? easter_date()はタイムスタンプを返します。タイムゾーンの設定に基づいてdate()を使用すると調整されます。 –

+0

cakephpにこのコードdate_default_timezone_set( 'UTC')があります。私のサーバーでは、私のタイムゾーンはEurope/paris – user1655410

+0

です。私のローカルマシンのタイムゾーンを変更しても何も変わらない場合は、正しいイースターデートを返します – user1655410

答えて

0

で おかげでPHPのドキュメントで見た後、私は使用し、この機能を発見したのだが、デフォルトのeaster_date機能の代わりにperfectely働い:

public static function get_easter_datetime($year) { 
     $base = new DateTime("$year-03-21"); 
     $days = easter_days($year); 

     return $base->add(new DateInterval("P{$days}D")); 
    } 

、代わりの$date_easter=easter_date() Iユーザが作成した新しいを

$easterDate = static::get_easter_datetime($year)->getTimestamp(); 
関連する問題