<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="php实现格式化时间戳 显示友好时间的思路及代码示例" id="card1">
<p> 游客</p><p>
标题:php实现格式化时间戳 显示友好时间的思路及代码示例<br/>
正文:<br/>
在项目中时间一律显示为2014-10-20 10:22显得很呆板。在微博、QQ空间等网站通常会显示为几秒前，几分钟前，几小时前等容易阅读的时间，我们称之为友好的时间格式。那么用php怎么实现呢？大体思路如下：如果是跨年并且大于3天就显示为具体的时间如果是今天的如果是一分钟内则显示几秒之前如果是一小时内则显示几分钟前如果是当天且大于一小时则显示为几小时前如果是昨天则显示为昨天几点如果是前天则显示为前天几点如果大于三天(没有跨年)则显示为几月几号根据以上思路就不难写出实现代码了：实现代码如下://格式化友好显示时间function formatTime($time){$now=time();$day=date('Y-m-d',$time);$today=date('Y-m-d');$dayArr=explode('-',$day);$todayArr=explode('-',$today);//距离的天数，这种方法超过30天则不一定准确，但是30天内是准确的，因为一个月可能是30天也可能是31天$days=($todayArr[0]-$dayArr[0])*365+(($todayArr[1]-$dayArr[1])*30)+($todayArr[2]-$dayArr[2]);//距离的秒数$secs=$now-$time;if($todayArr[0]-$dayArr[0]&amp;gt;0 &amp;amp;&amp;amp; $days&amp;gt;3){//跨年且超过3天return date('Y-m-d',$time);}else{if($days&amp;lt;1){//今天if($secs&amp;lt;60)return $secs.'秒前';elseif($secs&amp;lt;3600)return floor($secs/60).&amp;quot;分钟前&amp;quot;;else return floor($secs/3600).&amp;quot;小时前&amp;quot;;}else if($days&amp;lt;2){//昨天$hour=date('h',$time);return &amp;quot;昨天&amp;quot;.$hour.'点';}elseif($days&amp;lt;3){//前天$hour=date('h',$time);return &amp;quot;前天&amp;quot;.$hour.'点';}else{//三天前return d<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1989&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1989&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1989&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1989&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1989">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1989">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>