//$time为时间差的值
//例如:
$times=1525111200;
$now=time();
$time=$noe-$times;
//$time=43771;
formatTime($time);
function formatTime($time){
//用时间差除以年
$year = floor($time / 60 / 60 / 24 / 365);
//更新时间戳,把余数去掉
$time -= $year * 60 * 60 * 24 * 365;
//用时间差除以月
$month = floor($time / 60 / 60 / 24 / 30);
$time -= $month * 60 * 60 * 24 * 30;
//用时间差除以周
$week = floor($time / 60 / 60 / 24 / 7);
$time -= $week * 60 * 60 * 24 * 7;
//用时间差除以天
$day = floor($time / 60 / 60 / 24);
$time -= $day * 60 * 60 * 24;
//用时间差除以小时
$hour = floor($time / 60 / 60);
$time -= $hour * 60 * 60;
//用时间差除以秒
$minute = floor($time / 60);
$time -= $minute * 60;
$second = $time;
$elapse = '';
//创建年,月,周,天,小S。分,秒,对应的上分变量名称,下标对应的是年,月,周
$unitArr = array('年' =>'year', '个月'=>'month', '周'=>'week', '天'=>'day',
'小时'=>'hour', '分钟'=>'minute', '秒'=>'second'
);
//遍历创建好的数组,
foreach ( $unitArr as $cn => $u )
{
// 使用魔法变量,来获取当前时间属于哪个时间段的时间差
// 例如: $$u="year";
// 相当于 $u=$year;$year=1;
// 所以$u=1;
// 如果计算出来的结果大于0,说明是属于当前时间段的
if ( $$u > 0 )
{
//$elapse=1年;
$elapse = $$u . $cn;
//跳出循环。
break;
}
}
返回数据
return $elapse;
}