TYPECHO WIKI

Typecho 实现类似微博几分钟、几天前的词义化时间

发布者:Typecho维基君/更新日期:2018-05-17/人气指数:1111

有些时候我们可能不想博客文章发布的时间太单调的显示年月日,我们希望显示文章发布距离现在几分钟几小时几天几月,那么就需要今天的方法实现,原来就是把文章发布时间传递给主题目录下的 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 人性化评论时间 多少秒/多少天/多少时发帖代码

本文检索关键词:typecho
赞助支持

添加新评论 »