php两个日期时间差_php计算两个日期的相差天数,处理时间间隔
方法一
/**
* 比较两个日期相差的天数
* $date1 开始日期 Y-m-d
* $date2 结束日期 Y-m-d
*/
function CompareDate($date1,$date2){
$time1 = strtotime($date1);
$time2 = strtotime($date2);
return ceil(($time2-$time1)/86400);
}
$date1 = ‘2017-03-23’;
$date2 = date(‘Y-m-d’,time());
$days = CompareDate($date1,$date2);
echo $days;
方法二
/**
* 求两个日期之间相差的天数
* (针对1970年1月1日之后,求之前可以采用泰勒公式)
* @param string $day1
* @param string $day2
* @return number
*/
function diffBetweenTwoDays ($day1, $day2){
$second1 = strtotime($day1);
$second2 = strtotime($day2);
if ($second1 < $second2) {
$tmp = $second2;
$second2 = $second1;
$second1 = $tmp;
}
return ($second1 - $second2) / 86400;
}
$day1 = “2013-07-27”;
$day2 = “2013-08-04”;
$diff = diffBetweenTwoDays($day1, $day2);
echo $diff.”\n”;
方法三
$date1=date_create(“1984-01-28”);
$date2=date_create(“1984-10-15”);
$diff=date_diff($date1,$date2);
var_dump($diff);
echo $diff->format(‘%R%a days’);
输出结果
处理时间间隔的方法
//设置页面编码
header(“Content-type:text/html;charset=utf-8”);
//设置时区
date_default_timezone_set(‘PRC’);
/*
* 比较时间差
* $from,$to开始时间,结束时间,为时间戳格式 例1540348577
*/
function get_time($from,$to){
if($to > $from){
$miao = $to - $from;
}else{
$miao = $from - $to;
}
$hour = floor($miao/3600);
$minute = floor(($miao-$hour*3600)/60);
$second = $miao - $hour * 3600 - $minute * 60 ;
$str = ‘’;
if($hour > 0){
$str .= $hour.’时’;
}
if($minute > 0){
$str .= $minute.’分’;
}
if($second){
$str .= $second.’秒’;
}
return $str;
}
$from = strtotime(‘2018-10-24 00:00:00’);
$to = time();
$times = get_time($from,$to);
echo ‘当前时间:’.date(‘Y-m-d hi’,$to).’
‘;
echo ‘时间差:’.$times;
还没有评论,来说两句吧...