返回两个日期或者时间戳的差并格式化
/**
* 返回两个日期或者时间戳的差并格式化
* @param string $startDate 开始时间
* @param string $endDate 结束时间
* @param int $type 1-时间戳 2-日期时间类型
* @param int $format 格式化类型 1-中文 2-英文 3-符号
* @return string
*/
function time_difference(string $startDate,string $endDate,int $type = 1,int $format = 1): string
{
$textDate = '';
$timeDiff = $type == 1 ? abs($endDate - $startDate) : abs(strtotime($endDate)-strtotime($startDate));
$date = floor($timeDiff/86400);
$hour = floor($timeDiff%86400/3600);
$minute = floor($timeDiff%86400%3600/60);
$second = floor($timeDiff%86400%3600%60);
if($date > 0){
$textDate .= $date.'天';
}
if($hour > 0){
$hourFormat = array(1=>'时',2=>'h',3=>':');
$textDate .= $hour.$hourFormat[$format];
}
if($minute > 0){
$minuteFormat = array(1=>'分',2=>'m',3=>'`');
$textDate .= $minute.$minuteFormat[$format];
}
if($second > 0){
$secondFormat = array(1=>'秒',2=>'s',3=>'``');
$textDate .= $second.$secondFormat[$format];
}
return $textDate;
}