在分析网站日志时,经常需要取某段时间内的日期,以下的代码,可以判断两个日期相隔的天数、年数或月数。
代码如下:
/*
* function:计算两个日期相隔多少年,多少月,多少天
* param string $date1[格式如:2013-7-5]
* param string $date2[格式如:2013-7-12]
* return array array('年','月','日');
* by www.jbxue.com
*/
function diffDate($date1,$date2){
if(strtotime($date1)>strtotime($date2)){
$tmp=$date2;
$date2=$date1;
$date1=$tmp;
}
list($Y1,$m1,$d1)=explode('-',$date1);
list($Y2,$m2,$d2)=explode('-',$date2);
$Y=$Y2-$Y1;
$m=$m2-$m1;
$d=$d2-$d1;
if($d<0){
$d+=(int)date('t',strtotime("-1 month $date2"));
$m--;
}
if($m<0){
$m+=12;
$y--;
}
return array($Y,$m,$d);
}
//调用示例
$date1 = "2013-7-5";
$date2 = "2013-7-16";
$y_date = diffDate($date1, $date2);
echo "相差天数为:" . $y_date;
?>