您现在的位置是:首页 > 教程 > pbootcms教程pbootcms教程

PbootCms时间转换成几分钟几小时前的方法

冰枫2024-12-19 14:07:35pbootcms教程已有人查阅

导读效果如下是,发布时间可以显示:刚刚1小时前;昨天 几点几分;前天 几点几分;年月日 几点几分;这样的一个个性化日期效果,具体效果可以看本文上方的标题。1,找到ExtLabelControll

效果如下是,发布时间可以显示:
刚刚
1小时前;
昨天 几点几分;
前天 几点几分;
年月日 几点几分;
这样的一个个性化日期效果,具体效果可以看本文上方的标题。
1,找到ExtLabelController.php,添加代码
路径:\apps\home\controller\ExtLabelController.php
作用:该文件的作用之一,是添加新的方法,扩展单个标签
修改:大约在35行,在“private function test()”的方法下面添加新的方法。
代码:
//转换日期
private function transtime(){
$pattern = '/\{transtime\s?\(([^\}]+)\)\}/';
if (preg_match($pattern, $this->content, $matches)) {
$this->content = preg_replace_callback(
$pattern,
function($matches){
$time = strtotime($matches[1]);
$otime = date("Y-m-d H:i",$time);
$rtime = date("m-d H:i",$time);
$htime = date("H:i",$time);
$time = time() - $time;
if ($time < 60){
$str = '刚刚';
}
elseif ($time < 60 * 60){
$min = floor($time/60);
$str = $min.'分钟前';
}elseif ($time < 60 * 60 * 24){
$h = floor($time/(60*60));
$str = $h.'小时前 '.$htime;
}elseif ($time < 60 * 60 * 24 * 3){
$d = floor($time/(60*60*24));
if($d==1)
$str = '昨天 '.$rtime;
else
$str = '前天 '.$rtime;
}else{
$str = $otime;
}
return $str;
},
$this->content);
}
}
然后在run()方法里面执行该方法
代码:
/* 必备启动函数 */
public function run($content)
{
// 接收数据
$this->content = $content;
// 执行个人自定义标签函数
$this->test();
    //转换日期
$this->transtime();
// 返回数据
return $this->content;
}
之后在模板页面里,使用该标签
代码:
//在文章内容里添加
{transtime({content:date})}
//在文章列表里添加
{pboot:list}
{transtime([list:date])}
{/pboot:list}

本文标签:

很赞哦! ()

相关文章

留言与评论 (共有 条评论)
验证码:

相关标签