来源:(http://blog.sina.com.cn/s/blog_4ee0a4eb0100hi81.html ) - php把时间计算成几分钟前,几小时前,几天前的函数_悠之远_新浪博客
刚用到,简单写了个,凑合着用吧。
<?php #time.inc.php 2009-12-11 by zhangxinxu
//计算时间,规则如下,如果一小时内,显示分钟,如果大于1小时小于1天显示小时,如果大于天且小于3天,显示天数,否则显示日期时间
function time_tran($the_time){
$now_time = date("Y-m-d H:i:s");
$now_time = strtotime($now_time);
$show_time = strtotime($the_time);
$dur = $now_time - $show_time;
if($dur < 60){
return $dur.'秒前';
}else{
if($dur < 3600){
return floor($dur/60).'分钟前';
}else{
if($dur < 86400){
return floor($dur/3600).'小时前';
}else{
if($dur < 259200){//3天内
return floor($dur/86400).'天前';
}else{
return $the_time;
}
}
}
}
}
?>
注:这里没有考虑到时区。
后修改如下:
function time_tran($the_time){
$now_time = date("Y-m-d H:i:s",time()+8*60*60);
$now_time = strtotime($now_time);
$show_time = strtotime($the_time);
$dur = $now_time - $show_time;
if($dur < 0){
return $the_time;
}else{
if($dur < 60){
return $dur.'秒前';
}else{
if($dur < 3600){
return floor($dur/60).'分钟前';
}else{
if($dur < 86400){
return floor($dur/3600).'小时前';
}else{
if($dur < 259200){//3天内
return floor($dur/86400).'天前';
}else{
return $the_time;
}
}
}