PHP 计算两个时间距离
如:
$startdate = '2017-11-28 10:11:00';
$enddate = date("Y-m-d H:i:s");
echo $date = floor((strtotime($enddate)-strtotime($startdate))/86400); //天数
echo "
";
echo $hour = floor((strtotime($enddate)-strtotime($startdate))%86400/3600); //小时
echo "
";
echo $minute = floor((strtotime($enddate)-strtotime($startdate))%86400/60); //分钟
echo "
";
echo $second = floor((strtotime($enddate)-strtotime($startdate))%86400%60); //秒
可以计算出 2017-11-28 10:11:00 这个时间距离现在已经过了多少
天 :累计的天数
小时 :累计的小时
分钟 :累计的分钟
秒 :秒数差
输出一下距离当前时间
// ($minute % 60) 累计的时间取余60得到分钟差,61分钟会变成1分钟
echo "已经过了".$date.'天,'.$hour.'小时,'.($minute % 60).'分,'.$second.'秒';
记录以便下次使用
/**
* 时间距今多少时间
* @author 18y
* @anotherdate 2018-06-19T18:23:03+0800
* @return [type] [description]
*/
public function makeTimeAgo($time)
{
$date = floor((time()-$time)/86400);
// 大于三天返回标准时间
if($date > 3)
{
return date("Y-m-d H:i",$time);
}else{
$res = "";
$hour = floor((time()-$time)%86400/3600); //小时
$minute = floor((time()-$time)%86400/60); //分钟
$second = floor((time()-$time)%86400%60); //秒
if($hour > 0)
{
$res .= $hour.'小时 ';
}
if($minute > 0)
{
$res .= $minute.'分 ';
}
if($second > 0)
{
$res .= $second.'秒前';
}
return $res;
}
}