PHP计算两个日期相差的年数和剩下的天数,小时数

来源:互联网 发布:读写分离 mysql 编辑:程序博客网 时间:2024/04/27 13:58
public function actionDemo3(){        //功能:计算两个时间戳之间相差的日时分秒        //$begin  开始时间戳        //$end 结束时间戳        //先计算相差的年份数,再用开始时间加上年份数得到第二开始时间,        //再用第二开始时间与结束时间计算时间差        $begin = "2012-07-15 00:00:00" ;        $end = date("Y-m-d H:i:s") ;        $aa = $this->diffDate($begin,$end) ;        $year = intval($aa['y']) ;//相差年份        if($year>0){            $begin2 = date("Y-m-d H:i:s",strtotime("+{$year} year",strtotime($begin))) ;        }else{            $begin2 = $begin ;        }        var_dump($begin2);        var_dump("------------") ;        $begin_time = strtotime($begin2) ;        $end_time = strtotime($end) ;        if($begin_time < $end_time){            $starttime = $begin_time;            $endtime = $end_time;        }else{            $starttime = $end_time;            $endtime = $begin_time;        }        //计算天数        $timediff = $endtime-$starttime;        $days = intval($timediff/86400);        //计算小时数        $remain = $timediff%86400;        $hours = intval($remain/3600);        //计算分钟数        $remain = $remain%3600;        $mins = intval($remain/60);        //计算秒数        $secs = $remain%60;        $res = array("day" => $days,"hour" => $hours,"min" => $mins,"sec" => $secs);        var_dump($res);exit;    }    public  function diffDate($date1,$date2)    {        $datetime1 = new \DateTime($date1);        $datetime2 = new \DateTime($date2);        $interval = $datetime1->diff($datetime2);        $time['y']         = $interval->format('%Y');        $time['m']         = $interval->format('%m');        $time['d']         = $interval->format('%d');        $time['h']         = $interval->format('%H');        $time['i']         = $interval->format('%i');        $time['s']         = $interval->format('%s');        $time['a']         = $interval->format('%a');    // 两个时间相差总天数        return $time;    }


参考:https://segmentfault.com/a/1190000006795735

阅读全文
0 0
原创粉丝点击