原文来自:https://www.zixuephp.com

修改dedecms5.7织梦的时间显示格式

MyDate('格式',值)将unix时间戳转换为格林威治标准时间

关于这个函数,我想应该是今天这十个函数中最为常见的一个了,因为织梦,DedeCMS,系统中保存的unix时间戳,我们几乎到处都需要调用,但是调用出来的格式往往是一连串的字符,根本无法辨认到底是哪个具体时间,所以,就会用到这个函数来进行转换一下,它的格式由以下几个组成:

Y(年)/y(年)、m(月)、d(日)、H(时)、i(分)和s(秒)

以上几个可以只取一个,也可以通过多个进行组合,比如:MyData('Ymd',值)

好了,我们来看一下实例,调用文章发布时间:

{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}

时间格式:

{dede:field name='pubdate' function='strftime("%Y年%m月%d日 %H:%M:%S","@me")' /}2007年1月1日 18:30:02

{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")' /}2007-1-1 18:30:02

{dede:field name='pubdate' function='strftime("%Y年%m月%d日 %H时%M分%S秒","@me")' /}2007年1月1日 18时30分02秒

{dede:field name='pubdate' function='strftime("%m-%d %H:%M:%S","@me")' /}1-1 18:30:02

{dede:field name='pubdate' function='strftime("%m-%d","@me")' /}1-1

  1. %Y-年
  2. %m-月
  3. %d-日
  4. %H-小时
  5. %M-分
  6. %S-秒

24小时内的时间显示红色..

  1. [field:pubdaterunphp='yes']
  2. $a="";
  3. $b="";
  4. $c=strftime("%Y年%m月%d日%H:%M:%S","@me");
  5. $ntime=time();
  6. $oneday=3600*24;
  7. if(($ntime-@me)<$oneday)@me=$a.$c.$b;
  8. else@me=$c;
  9. [/field:pubdate]

最后更新时间:{dede:tagname runphp='yes'}@me = date("Y-m-d H:i:s", time());{/dede:tagname}

XX天前:

  1. [field:pubdaterunphp='yes']
  2. $today=Floor(time()/(3600*24));
  3. $senday=Floor(@me/(3600*24));
  4. $updays=$today$senday;
  5. if($updays==0)@me="今日";
  6. else@me=$updays."天前";
  7. [/field:pubdate]