# 织梦cms如何改造时间格式实现XX秒前、XX分钟前、XX天前

*Published:* 2023-08-15
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年8月15日，已超过 180天没有更新



dedecms实现XX秒前、XX分钟前、xx天前、XX周前、XX月前、XX年前的[时间](https://www.xarjtc.com/tag/%e6%97%b6%e9%97%b4 "查看时间此标签更多文章")差显示 在新浪微博首页看到每条微博后边显示的时间并不是标准的年-月-日格式，而是经过换算的时间差，如：发表于5分钟前、发表于“2小时前”，比起标准的时间显示格式，貌似更加直观和人性化。

打开 /include/extend.func.php 在最下面加入个方法

```
/**
 *  时间美化
 *
 * @access    public
 * @param     string  $time  	时间戳
 * @return    string
 */
if(!function_exists('tranTime'))
{
    function tranTime($time)
    {
        $rtime = date("m-d H:i",$time);
        $htime = date("H:i",$time);
        $etime = time() - $time;
        if ($etime < 1) return '刚刚';
        $interval = array (
            12 * 30 * 24 * 60 * 60  =>  ' 年 前',
            30 * 24 * 60 * 60       =>  ' 个 月 前',
            7 * 24 * 60 * 60        =>  ' 周 前',
            24 * 60 * 60            =>  ' 天 前',
            60 * 60                 =>  ' 小 时 前',
            60                      =>  ' 分 钟 前',
            1                       =>  ' 秒 前'
        );
        foreach($interval as $secs => $str)
        {
            $d = $etime / $secs;
            if($d >= 1)
            {
                $r = round($d);
                return $r . $str;
            }
        };
    }
}
```

调用标签写法

```
首页/列表页[field:pubdate function="tranTime(@me)"/]

内容页{dede:field.pubdate function="tranTime(@me)"/}

如果你的时间格式是 2018-10-10 这种正常时间，那要这样写调用标签

[field:pubdate function="tranTime(GetMkTime(@me))"/]

{dede:field.pubdate function="tranTime(GetMkTime(@me))"/}
```