>  기사  >  백엔드 개발  >  php处理日期格式为秒前、分前、小时前、昨天、前天

php处理日期格式为秒前、分前、小时前、昨天、前天

WBOY
WBOY원래의
2016-07-25 09:09:021083검색

出处:http://www.crazyphper.com


  1. /**
  2. * 将日期格式根据以下规律修改为不同显示样式
  3. * 小于1分钟 则显示多少秒前
  4. * 小于1小时,显示多少分钟前
  5. * 一天内,显示多少小时前
  6. * 3天内,显示前天22:23或昨天:12:23。
  7. * 超过3天,则显示完整日期。
  8. * @static
  9. * @param $sorce_date 数据源日期 unix时间戳
  10. * @return void
  11. */
  12. public static function getDateStyle($sorce_date){
  13. self::$nowTime = time(); //获取今天时间戳
  14. // echo '数据源时间戳:'.$sorce_date . ' = '. date('Y-m-d H:i:s',$sorce_date);
  15. // echo "\n 当前时间戳:". date('Y-m-d H:i:s',self::$nowTime)."\n";
  16. $timeHtml = ''; //返回文字格式
  17. $temp_time = 0;
  18. switch($sorce_date){
  19. //一分钟
  20. case ($sorce_date+60)>=self::$nowTime:
  21. $temp_time = self::$nowTime-$sorce_date;
  22. $timeHtml = $temp_time ."秒前";
  23. break;
  24. //小时
  25. case ($sorce_date+3600)>=self::$nowTime:
  26. $temp_time = date('i',self::$nowTime-$sorce_date);
  27. $timeHtml = $temp_time ."分钟前";
  28. break;
  29. //天
  30. case ($sorce_date+3600*24)>=self::$nowTime:
  31. $temp_time = date('H',self::$nowTime)-date('H',$sorce_date);
  32. $timeHtml = $temp_time .'小时前';
  33. break;
  34. //昨天
  35. case ($sorce_date+3600*24*2)>=self::$nowTime:
  36. $temp_time = date('H:i',$sorce_date);
  37. $timeHtml = '昨天'.$temp_time ;
  38. break;
  39. //前天
  40. case ($sorce_date+3600*24*3)>=self::$nowTime:
  41. $temp_time = date('H:i',$sorce_date);
  42. $timeHtml = '前天'.$temp_time ;
  43. break;
  44. //3天前
  45. case ($sorce_date+3600*24*4)>=self::$nowTime:
  46. $timeHtml = '3天前';
  47. break;
  48. default:
  49. $timeHtml = date('Y-m-d',$sorce_date);
  50. break;
  51. }
  52. return $timeHtml;
  53. }
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Session保存到数据库 다음 기사:生成短网址