什么是npm?什么是webpack?什
点击数:6006
在使用织梦进行网站制作时,有时候,日期格式调用想显示成“今天发布”、“昨天发布”、“几天前发布”这种格式, 更利于让访客直观地看到文章的发布时段,那么如何实现显示发...
在使用织梦进行网站制作时,有时候,日期格式调用想显示成“今天发布”、“昨天发布”、“几天前发布”这种格式, 更利于让访客直观地看到文章的发布时段,那么如何实现显示发布时间的格式呢?
一、模板直接写PHP语句进行直接调用
[field:pubdate runphp='yes']
$today = Floor(time()/(3600 * 24));
$senday= Floor(@me/(3600 * 24));
$updays = $today-$senday;
if($updays >= 30 && $updays < 60) @me="1个月前";
elseif($updays >= 60 && $updays < 90) @me="2个月前";
elseif($updays >= 90 && $updays < 120) @me="3个月前";
elseif($updays >= 120 && $updays < 150) @me="4个月前";
elseif($updays >= 150 && $updays < 180) @me="5个月前";
elseif($updays >= 180 && $updays < 210) @me="6个月前";
elseif($updays >= 210 && $updays < 240) @me="7个月前";
elseif($updays >= 240 && $updays < 270) @me="8个月前";
elseif($updays >= 270 && $updays < 300) @me="9个月前";
elseif($updays > 300 && $updays < 330) @me="10个月前";
elseif($updays > 330 && $updays < 360) @me="11个月前";
elseif($updays >= 360) @me="一年前";
elseif($updays==0) @me = "今日";
else @me = $updays."天前";
[/field:pubdate]
二、更改系统php文件自定义函数调用
在include/extend.func.php文件中加入以下代码:
//文章发布多少时间前
function tranTime($time) {
$today = Floor(time()/(3600 * 24));
$senday= Floor($time/(3600 * 24));
$updays = $today-$senday;
if($updays==0)
$str = '今天';
elseif ($updays >=1 && $updays < 31) {
$str = $updays.'天前 ';
}
elseif ($updays >= 31&& $updays < 365) {
$m = floor($updays / 31);
$str = $m.'月前 ';
}
elseif ($updays >= 31&& $updays < 365) {
$y = floor($updays / (31* 365));
$str = $y.'年前 ';
}
else {
$str = $rtime;
}
return $str;
}
注意:如果要显示几分钟和几小时,则自行加入判断函数
elseif ($updays >0 && $updays < 1 ) {
$h = floor($updays * 24);
$str = $h.'小时前 ';
}
调用方法
列表页:[field:pubdate function="tranTime(@me)" /]
内容页:{dede:field.pubdate function="tranTime(@me)"/}
以上两种方法都可以实现调用,第一种方法是直接把php语法写入模版中,会显得文件比较冗余,建议使用第二种自定函数的方式,简单明了。