分钟前,小时前,天前,个月前,年前如何实现
问下分钟前,小时前,天前,个月前,年前如何实现?
存在数据库的是时间戳
目前实现的方法代码
<?php
$created = time() - $value->created;
$timeArr=array(
'1'=>' 秒',
'60'=>' 分钟',
'3600'=>' 小时',
'86400'=>' 天',
'604800'=>' 星期',
'2592000'=>' 个月',
'31536000'=>' 年',
);
foreach ($timeArr as $numKey => $strValue){
if (0 != $timeNum = floor($created/(int)$numKey)){
$timeStr = $timeNum.$strValue.'前';
}
}
echo $timeStr;
;?>
这个方法就是减去时间戳后的数值循环除以数组,
这样感觉不是一个好方法,
有没有更好的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果是前端显示,推荐 Moment.js
时间存在数据库的当然是时间戳,但是给view层或者输出你可以做一下封装,显示为“分钟前,小时前。。”
恰逢上个项目里面有,当初另外一个同事写的,逻辑有错,我就修改了下,如下
你的比我的简洁多了