欢迎访问 舍力博客(www.syom.cn)
不久前写过一篇名为《Emlog时间格式转化,约几天、几月、几年的方式显示》的一篇教程,不过此教程有很多缺陷,今天给大家分享一篇相对比较完善一点的教程,但是也有点小缺点,只考虑30天的情况,其他情况不考虑在内,下面舍力就说说具体操作方法。
第一步:打开模板文件module.php,在最后加入如下代码
<?php function sydate($ptime){ $ptime = strtotime($ptime); $etime = time() - $ptime; if($etime < 1){return '刚刚';} $interval = array( 12 * 30 * 24 * 60 * 60 => '年前 ('.date('Y-m-d', $ptime).')', 30 * 24 * 60 * 60 => '个月前 ('.date('Y-m-d', $ptime).')', 7 * 24 * 60 * 60 => '周前 ('.date('Y-m-d', $ptime).')', 24 * 60 * 60 => '天前', 60 * 60 => '小时前', 60 => '分钟前', 1 => '秒前', ); foreach ($interval as $secs => $str) { $d = $etime / $secs; if ($d >= 1){ $r = round($d); return $r . $str } }; } ?>
<?php echo sydate(gmdate('Y-m-d', $date));?>模板的log_list.php.php(列表页)文件中的调用方式:
<?php echo sydate(gmdate('Y-m-d', $value['date']));?>-=-如需加入时间段的话,首先在module.php中写入代码
<?php function sydate_g($t){ if($t<=3){ $ts = '拂晓'; }elseif($t<=6){ $ts = '黎明'; }elseif($t<=9){ $ts = '清晨'; }elseif($t<=12){ $ts = '早上'; }elseif($t<=15){ $ts = '中午'; }elseif($t<=18){ $ts = '下午'; }elseif($t<=21){ $ts = '傍晚'; }elseif($t<=00){ $ts = '深夜/午夜'; } return $ts; } ?>然后把第一步中的
return $r . $str改为
return $r . $str .sydate_g(date('G', $ptime));
留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。