日期:2014-05-17  浏览次数:20377 次

关于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.'<br/>';
if($day == 366){
echo $year,'年是闰年';
}else{
echo $year,'年不是闰年';
}
}
printYear('2000');

但是输出的结果是:
365
2000年不是闰年

这就有问题了。请大神给解疑一下 到底哪个地方出现的问题

------解决方案--------------------
23:59:59 表示这一天并没有过完

printYear('2001');

364
2001年不是闰年