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

DEDECMS后台查看会员消费记录时发现,在消费时间后边跟随的人性化时间一点都不准确,一年前的单子只显示几天前。看着很不舒服,于是就修改一下。

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. }else
  27. return '刚刚'
  28. }else
  29. return '刚刚'

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>

更改完毕。

转载请注明:代码家园 » DEDECMS后台会员消费记录人性化时间显示不准的解决方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)