优化zblog文章及列表页友好显示时间的PHP代码


其实这些细枝末节的事很少有人注意 , 前几天看公众号的时候看见公众号的时间显示的很好 , 比如能看到刚刚、10分钟前、昨天、前天等等 , 这样看上去很舒服有没有 。 好吧 , 至少我是这么觉得 , 但是zbp官方给出的代码可以显示部分 , 但是超过一定时间就显得臃肿 , 比如 , 去年发布的就可能会显示“3年前 (2018-06-08)”看着很长 , 而且在移动端显示并不友好 , 像之前的主题我还会提议在移动端显示正常的时间 , 要不小手机根本看不全 。
【优化zblog文章及列表页友好显示时间的PHP代码】
优化zblog文章及列表页友好显示时间的PHP代码
本文插图
今天抽时间百度了一下 , 结合zbp官方代码 , 结果了以上问题 , 既可以像微信公众号显示的那么完美 , 超过年限又不会显示那么长 , 行了 , 废话少说 , 附上代码:
function 主题ID_TimeAgo($ptime){$now=time;$ptime=strtotime($ptime);$day=date('Y-m-d',$ptime);$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-$ptime;if($todayArr[0]-$dayArr[0]>0&&$days>3){//跨年且超过3天returndate('Y-m-d',$ptime);}else{if($days<1){//今天if($secs<60)return$secs.'秒前';elseif($secs<3600)returnfloor($secs/60)."分钟前";elsereturnfloor($secs/3600)."小时前";}elseif($days<2){//昨天return"昨天";}elseif($days<3){//前天return"前天";}else{//三天前returndate('m-d',$ptime);}}}完整代码如上 , 如果主题模板已经有了友好时间 , 想使用的话 , 直接把内容复制进去即可 , 头尾留着function xxx{内容} , 这样简单明了 , 前台都不需要修改了 , 省时省事 。 前端调用代码:{主题ID_TimeAgo($article.Time)} 。
然后后台首页 , 清空缓存并编译 , 刷新网页查看效果 , 代码可能会有更简介的吧 , 至少我是不会写了 , 毕竟我从来都是不生产代码 , 我只是代码的搬运工 。
我目前能做的就是把主题细致化 , 毕竟现在开发者的技术越来越高 , 我估计快被迫转行了……没办法 , 技术不够只能细节来凑了 , 话说新主题快要上架了 , 目前也是在修改细节 , 整体的布局都已经完成了 , 感觉着一路走来 , 技术的确有所提升 , 但是明显的感觉到有些吃力 , 关于文章及列表的友好显示时间代码已经给出 , 教程也完成了 , 我去搬砖了 , 哦不 , 搬代码去了 , 可以小小的期待一下新主题 , 哦对了 , 新主题的名字叫做“希望” , 拭目以待吧~