TYPECHO WIKI
每一个作品都值得被记录

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

Typecho维基君Typecho教程 • 2755次浏览 • 发布 2018-05-17 • 更新 2018-05-17

有些时候我们可能不想博客文章发布的时间太单调的显示年月日,我们希望显示文章发布距离现在几分钟几小时几天几月,那么就需要今天的方法实现,原来就是把文章发布时间传递给主题目录下的 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.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »