dedecms时间格式实现XX秒前、XX分钟前、XX天前

打开 /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))"/}