A-A+

把KingCMS的发布日期的显示今天或昨天个性化设置去掉

2012年09月02日 PHP开源系统 评论 3 条 阅读 178 views 次

使用kingcms一般日期发布的时间,它会自动个性化的显示成今天、昨天、前天之类的,但是有的国外服务器跟国内的时间不一样,或者我要在图片或链接的注释上显示日期时,这种个性化的东东就显得很麻烦。如:

<a href="https://www.xiariboke.net" title="夏日博客发表于2013-02-19">把KingCMS的发布日期的显示今天或昨天个性化设置去掉</a>

这是正常的,但是如果是今天更新的话,title注释就会出现错误。代码如下

<a href="https://www.xiariboke.net" title="smiling发表于<em class="c1">今天 (06:04)</em>">把KingCMS的发布日期的显示今天或昨天个性化设置去掉</a>

下面就来搞定这个问题吧,把整个网站的这个东东去掉,首先打开system/lib/func.php文件,找到以下函数:

/**
日期格式化
@param int $time
@param string $mode 输出模式,这个属性有点多余,完全可以用gmdate来实现
@param bool $is 模式
@return string
*/

function kc_formatdate($time,$mode='Y-m-d',$is=false){
global $king;

if(($mode!='Y-m-d')||$is==true ){
$time+=$king-&gt;config('timediff')*3600;
$s=gmdate($mode,$time);
}else{
$ftime=gmdate('Ymd',$time);
if($ftime==gmdate('Ymd',time())){
$time+=$king-&gt;config('timediff')*3600;
$s='<em class="c1">'.$king-&gt;lang-&gt;get('system/time/to
day')." ".gmdate('(H:i)',$time).'</em>';
}elseif($ftime==gmdate('Ymd',time()-86400)){
$time+=$king-&gt;config('timediff')*3600;
$s='<em class="c2">'.$king-&gt;lang-&gt;get('system/time/yes
ter')." ".gmdate('(H:i)',$time).'</em>';
}elseif($ftime==gmdate('Ymd',time()-172800)){
$s='<em class="c3">前天 '.gmdate('(H:i)',$time).'</em>';
}else{
$time+=$king-&gt;config('timediff')*3600;
$s=gmdate($mode,$time);
}
}

return $s;//.'['.time().'-'.$time.'='.(time()-$time).']';
}

修改成以下代码即可

function kc_formatdate($time,$mode='Y-m-d',$is=false){
global $king;

if(($mode!='Y-m-d')||$is==true ){
$time+=$king-&gt;config('timediff')*3600;
$s=gmdate($mode,$time);
}else{
$s=gmdate($mode,$time);
}

return $s;//.'['.time().'-'.$time.'='.(time()-$time).']';
}
标签:

3 条留言  访客:3 条  博主:0 条

  1. 胡迪博客

    把服务器区时设为北京时间就好了嘛
    smiling 回复:
    这是源码显示的问题,直接更改时区恐怕不行。

  2. 荼靡花事

    看不懂的东东
    smiling 回复:
    开源程序里的源码。已回访。

  3. 站长百科

    博主这个方案解决时间显示的问题,为以后的kingcms的方便使用提供很大的帮助
    smiling 回复:
    根据自己的需求进行修改操作。

给我留言