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

[复制链接]
树苗收集系 发表于 2019-11-26 23:09:57 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
DEDECMS后台会员消费记录人性化时间显示不准的解决方法

EDECMS的后台会员消费记录存在BUG,在消费时间后边跟随的人性化时间不准确,一年前的单子也显示几天前。需要进行修改。

1、打开include/helpers/time.helper.php,找到
  1. function FloorTime($seconds)
  2.     {
  3.         $times = '';
  4.         $days = floor(($seconds/86400)%30);
  5.         $hours = floor(($seconds/3600)%24);
  6.         $minutes = floor(($seconds/60)%60);
  7.         $seconds = floor($seconds%60);
  8.         if($seconds >= 1) $times .= $seconds.'秒';
  9.         if($minutes >= 1) $times = $minutes.'分钟 '.$times;
  10.         if($hours >= 1) $times = $hours.'小时 '.$times;
  11.         if($days >= 1)  $times = $days.'天';
  12.         if($days > 30) return false;
  13.         $times .= '前';
  14.         return str_replace(" ", '', $times);
  15.     }
复制代码
替换为以下代码即可:
  1. function FloorTime($date) {
  2. $str = '';
  3. $timer = $date;
  4. $diff = $_SERVER['REQUEST_TIME'] - $timer;
  5. $day = floor($diff / 86400);
  6. $free = $diff % 86400;
  7. if($day > 0) {
  8. return $day."天前";
  9. }else{
  10. if($free>0){
  11. $hour = floor($free / 3600);
  12. $free = $free % 3600;
  13. if($hour>0){
  14. return $hour."小时前";
  15. }else{
  16. if($free>0){
  17. $min = floor($free / 60);
  18. $free = $free % 60;
  19. if($min>0){
  20. return $min."分钟前";
  21. }else{
  22. if($free>0){
  23. return $free."秒前";
  24. }else{
  25. return '刚刚';
  26. }
  27. }
  28. }else{
  29. return '刚刚';
  30. }
  31. }
  32. }else{
  33. return '刚刚';
  34. }
  35. }
  36. }
复制代码
2、打开后台管理目录下的templets/member_operations.htm,找到
  1. (<font color="#FF0000">{dede:field.mtime function="floorTime(time()-@me,@me)"/}</font>)
复制代码
替换为:
  1. (<font color="#FF0000">{dede:field.mtime function="floorTime(@me)"/}</font>)
复制代码


回复

使用道具 举报

发布主题
推荐阅读 更多
阅读排行 更多
广告位
全国统一客服电话
400-1234-5678

24x7小时免费咨询

  • 官方在线客服

    QQ客服:小西

    点击交谈

    QQ客服:良子

    点击交谈

    QQ客服:闵月

    点击交谈
  • 安徽省合肥市高新区创新产业园

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方微信群