下面整理了两个用来计算用户发内容的时间,这里以分钟超,然后就是天数了,两个例子中,例子1只以计算昨天然后就是直接显示日期了,而后一个例子可以计算多少天前,并且文章最后对时区进行了介绍,告诉你在设置时间前一定要把php.ini时区设置好才行。
例子,
多长时间前的时间函数,论坛,博客常用
代码如下 复制代码
function timefromnow($dateline) {
if(empty($dateline)) return false;
$seconds = time() - $dateline;
if ($seconds return 1分钟前;
}elseif($seconds return floor($seconds/60).分钟前;
}elseif($seconds return floor($seconds/3600).小时前;
}elseif($seconds return date(昨天 h:i, $dateline).;
}else{
return date('y-m-d', $dateline);
}
}
echo timefromnow(strtotime(2012-07-07 14:15:13)); //昨天 14:15
echo timefromnow(strtotime(2012-07-08 14:15:13)); //1小前
注:这里没有考虑到时区。
后来在网上看到一段代码
代码如下 复制代码
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 return $the_time;
}else{
if($dur return $dur.'秒前';
}else{
if($dur return floor($dur/60).'分钟前';
}else{
if($dur return floor($dur/3600).'小时前';
}else{
if($dur return floor($dur/86400).'天前';
}else{
return $the_time;
}
}
}
最后补充时区
在 php.ini 中,默认是 date.timezone = utc。修改为中国时区,修改为 date.timezone = prc。如果直接写 gmt 格式的,是 date.timezone = etc/gmt+8。
另外,也可以在 php 页面头中设置。
date_default_timezone_set('prc');
测试:
echo date('y-m-d h:i:s');