PHP按天或小时或分或年友好时间显示代码示例
时间应用于许多业务场景中,格式通常都是一串数字字符,为了方便直观展示时间远近,可以以多少分、小时、天、周、月、年等形式进行显示,如:1小时前、1天前、1月前、1年前等形式,这种方式有利于提升用户阅读的体验PHP中友好时间显示的实现代码
示例如下,可按需自行修改调整:
/** * 友好时间显示 * @param $time * @return bool|string */ function friend_date($time) { if (!$time) return false; $fdate = ''; $d = time() - intval($time); $ld = $time - mktime(0, 0, 0, 0, 0, date('Y')); //得出年 $md = $time - mktime(0, 0, 0, date('m'), 0, date('Y')); //得出月 $byd = $time - mktime(0, 0, 0, date('m'), date('d') - 2, date('Y')); //前天 $yd = $time - mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); //昨天 $dd = $time - mktime(0, 0, 0, date('m'), date('d'), date('Y')); //今天 $td = $time - mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')); //明天 $atd = $time - mktime(0, 0, 0, date('m'), date('d') + 2, date('Y')); //后天 if ($d == 0) { $fdate = '刚刚'; } else { switch ($d) { case $d < $atd: $fdate = date('Y年m月d日', $time); break; case $d < $td: $fdate = '后天' . date('H:i', $time); break; case $d < 0: $fdate = '明天' . date('H:i', $time); break; case $d < 60: $fdate = $d . '秒前'; break; case $d < 3600: $fdate = floor($d / 60) . '分钟前'; break; case $d < $dd: $fdate = floor($d / 3600) . '小时前'; break; case $d < $yd: $fdate = '昨天' . date('H:i', $time); break; case $d < $byd: $fdate = '前天' . date('H:i', $time); break; case $d < $md: $fdate = date('m月d日 H:i', $time); break; case $d < $ld: $fdate = date('m月d日', $time); break; default: $fdate = date('Y年m月d日', $time); break; } } return $fdate; }
本文标题:PHP按天或小时或分或年友好时间显示代码示例
本文链接:https://www.befun.ink/26.html
声明:本站信息原创或由互联网收集,未用于商业用途,如若侵权,请联系站长删除!
欧家崇
优秀作者 战斗力十足
1.9w
文章
312w+
阅读
635w+
访问量
相关文章