有些时候我们可能不想博客文章发布的时间太单调的显示年月日,我们希望显示文章发布距离现在几分钟几小时几天几月,那么就需要今天的方法实现,原来就是把文章发布时间传递给主题目录下的 function.php 里我们写好的函数,在该函数里对时间进行格式化处理。
我们需要在主题目录下的 function.php 文件里新增下面的函数:
function getDayAgo($date){
$d = new Typecho_Date(Typecho_Date::gmtTime());
$now = $d->format('Y-m-d H:i:s');
$t = strtotime($now) - strtotime($date);
if($t < 60){
return $t . '秒前';
}
if($t < 3600){
return floor($t / 60) . '分钟前';
}
if($t < 86400){
return floor($t / 3670) . '小时前';
}
if($t < 604800){
return floor($t / 86400) . '天前';
}
if($t < 2419200){
return floor($t / 604800) . '周前';
}
if($t < 31536000 ){
return floor($t / 2592000 ).'月前';
}
return floor($t / 31536000 ).'年前';
}
在需要显示时间的地方调用方法如下:
<?php echo getDayAgo($this->created);?>
或者也可以用另外一种方法计算时间,可参考本站文章:Typecho 人性化评论时间 多少秒/多少天/多少时发帖代码