网站制作学习网PHP→正文:php日期差
字体:

php日期差

PHP 2010/10/28 17:52:38  点击:不统计

原文是网站制作学习网的FoAsP.cn
php日期差,php获取日期差,php获取两个时间差.
<?
function changedate($datestr,$splitstr){//$datestr日期标准可以是1999-09-09 12:12:12 也可以是1999-9-9 $splitstr是分割日期符号,不管什么时间变化一定要注意1999-09-09 和1999-9-9 在转换unix时间是不一样的.一定要注意.本函数一律实用1999-9-9的形式.在mysql数据库中的sql语句UNIX_TIMESTAMP 也是转换时间时有区别的.www.forasp.cn原创.http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E
$timeall = explode(" ",trim($datestr));
$temp = explode($splitstr,$timeall[0]);
$tyear = ((int)$temp[0]);
$tmonth = ((int)$temp[1]);
$tday = ((int)$temp[2]);
if(count($timeall)>1){
$temp2 = explode(":",$timeall[1]);
$thour = $temp2[0];
$tmini = $temp2[1];
$tsec = $temp2[2];
}else{
$thour = 12;
$tmini = 0;
$tsec = 0;
}
return mktime($thour,$tmini,$tsec,$tmonth,$tday,$tyear);
}//www.forasp.cn原创.
function get_datecha($date1,$date2,$splitstr1="-",$splitstr2="-"){//因为用着上面的时间转换函数,将时间转换为unix秒后计算所以,采用两个日期的分隔符,默认为- 也可以采用其他的,
 $start="之后";
    $day =0;
 $hour = 0;
 $min = 0;
 $sec = 0;
 $date1_u = changedate($date1,"-");
 $date2_u = changedate($date2,"-");
    $date_cha = $date1_u - $date2_u;
 if($date_cha<0){$start="之前";$date_cha = abs($date_cha);}
 $day = floor($date_cha/(3600*24));
 if($date_cha%(3600*24)>0)$hour = floor(($date_cha%(3600*24))/3600);
 if(($date_cha%(3600*24))%3600>0)$min = floor((($date_cha%(3600*24))%3600)/60);
 if((($date_cha%(3600*24))%3600)%60>0)$sec = (($date_cha%(3600*24))%3600)%60;//http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E
 return  "date1在date2".$start.$day."天".$hour."小时".$min."分".$sec."秒";
}
$date1 = "2010-9-9 12:00:00";//或者2010-9-9
$date2 = "2010-9-10 13:00:01";//或者2010-9-10
echo get_datecha($date1,$date2,"-","-");
?>
输出结果:date1在date2之前1天1小时0分1秒
这样就求出了两个日期的日期差
原文章%77w%77%2Ef%6F%72%61%73%70%2E%63n

·上一篇:php读取所有数据库和表 >>    ·下一篇:php日期差2 >>
推荐文章
最新文章