沃梦达 / IT编程 / CMS教程 / 正文

dedecms后台会员消费记录显示时间不正确的解决方法

dedecms后台会员消费记录显示时间不正确,存在BUG,在消费时间后边跟随的人性化时间不准确,一年前的单子也显示几天前,这个要怎么修改呢? 1、打开include/helpers/time.helper.php,找到 function FloorTime($seconds) { $times = ''; $days = floor(($seconds/86400)%30);

dedecms后台会员消费记录显示时间不正确,存在BUG,在消费时间后边跟随的人性化时间不准确,一年前的单子也显示几天前,这个要怎么修改呢?

1、打开include/helpers/time.helper.php,找到
function FloorTime($seconds)
    {
        $times = '';
        $days = floor(($seconds/86400)%30);
        $hours = floor(($seconds/3600)%24);
        $minutes = floor(($seconds/60)%60);
        $seconds = floor($seconds%60);
        if($seconds >= 1) $times .= $seconds.'秒';
        if($minutes >= 1) $times = $minutes.'分钟 '.$times;
        if($hours >= 1) $times = $hours.'小时 '.$times;
        if($days >= 1)  $times = $days.'天';
        if($days > 30) return false;
        $times .= '前';
        return str_replace(" ", '', $times);
    }

替换为以下代码即可:
function FloorTime($date) {
$str = '';
$timer = $date;
$diff = $_SERVER['REQUEST_TIME'] - $timer;
$day = floor($diff / 86400);
$free = $diff % 86400;
if($day > 0) {
return $day."天前";
}else{
if($free>0){
$hour = floor($free / 3600);
$free = $free % 3600;
if($hour>0){
return $hour."小时前";
}else{
if($free>0){
$min = floor($free / 60);
$free = $free % 60;
if($min>0){
return $min."分钟前";
}else{
if($free>0){
return $free."秒前";
}else{
return '刚刚';
}
}
}else{
return '刚刚';
}
}
}else{
return '刚刚';
}
}
}

2、打开后台管理目录下的templets/member_operations.htm,找到
 
(<font color="#FF0000">{dede:field.mtime function="floorTime(time()-@me,@me)"/}</font>)

替换为:
(<font color="#FF0000">{dede:field.mtime function="floorTime(@me)"/}</font>)

更改完毕。

本文标题为:dedecms后台会员消费记录显示时间不正确的解决方法