计算两个时间差$time=$time1-$time2;
再算出时间差折合多少天多少秒,比如一天是24*60*60=86400秒,一小时是60*60=3600秒,如此如此
然后计算出相差多少天,向下取整,$days=floor($timedif/86400);
$days的值就是相差的天数,余数被略去了,当然可以用类似的操作再计算出余下多少小时多少分钟多少秒.
- <?php
- $time = 5363;
- function interval_time($time){
- $days = interval_day($time); //多少天
- $hour = interval_hour($time-86400*$days);
- $minute = interval_minute($time-86400*$days-3600*$hour);
- $second = interval_second($time-86400*$days-3600*$hour-60*$minute);
- $str = "";
- $str.= $days ? $days."天":"";
- $str.= $hour ? $hour."小时":"";
- $str.= $minute ? $minute."分":"";
- $str.= $second ? $second."秒":"";
- return $str;
- }
- function interval_day($time){
- if ($time>=86400){
- return floor($time/86400); //多少天
- }
- }
- function interval_hour($time){
- if ($time>=3600 and $time<86400){
- return floor($time/3600); //多少小时
- }
- }
- function interval_minute($time){
- if ($time>=60 and $time<3600){
- return floor($time/60); //多少分钟
- }
- }
- function interval_second($time){
- if ($time>0 and $time<60){
- return $time; //多少秒
- }
- }
- echo interval_time($time);
- ?>
输出结果为:1小时29分23秒