date 関数の z パラメータと閏年についての質問
以前、閏年かどうかについてコードを書きましたが、閏年は 366 日あります。
今日date関数を使ってみたところ、パラメータ「z」(日付を出力)があったので、dateを使って簡単な閏年判定を書いてみました。 コードは以下の通りです。
/**
* 指定された年がうるう年かどうかを出力します
* @param string $year
*/
function printyear($year){
date_default_timezone_set('PRC');
$time = $year.'-12-31 23:59:59 ';
$day = date('z', strtotime($time));
echo $day.'
';
if($day == 366){
echo $year,' その年は閏年です';
}else{
echo $year,'今年は閏年ではありません';
}
}
print Year ('2000');
しかし、出力結果は次のようになります:
365
2000 は閏年ではありません
これは問題です。問題が発生した場所を教えてください
-----解決策---------
23:59:59 は、その日がまだ終わっていないことを意味します
You
print Year('2001');
get
364
2001 年は閏年ではありません