DEDECMS后台会员消费记录人性化时间显示不准的解决方法

相关案例演示

EDECMS的后台会员消费记录存在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>)

 

更改完毕。

 

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。


来源:网友投稿 关注: 时间:2018-09-17 10:24
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
相关织梦教程
QQ在线咨询