php计算时间差之计算文章发表距现在时间

我信会在很多网站看到一些文章发布之后会显示此文章是在几秒几前发的或几个月前发的文件,下面我来给大家介绍利用php计算时间差来计算文章发表距现在时间相隔多久了,代码如下:

  1. <?php
  2. /**
  3. * 时间差计算
  4. */
  5. function time2Units ( $time )
  6. {
  7. $year = floor ( $time / 60 / 60 / 24 / 365 );
  8. $time -= $year * 60 * 60 * 24 * 365 ;
  9. $month = floor ( $time / 60 / 60 / 24 / 30 );
  10. $time -= $month * 60 * 60 * 24 * 30 ;
  11. $week = floor ( $time / 60 / 60 / 24 / 7 );
  12. $time -= $week * 60 * 60 * 24 * 7 ;
  13. $day = floor ( $time / 60 / 60 / 24 );
  14. $time -= $day * 60 * 60 * 24 ;
  15. $hour = floor ( $time / 60 / 60 );
  16. $time -= $hour * 60 * 60 ;
  17. $minute = floor ( $time / 60 );
  18. $time -= $minute * 60 ;
  19. $second = $time ;
  20. $elapse = '' ;
  21. $unitArr = array( '年' => 'year' , '个月' => 'month' , '周' => 'week' , '天' => 'day' ,
  22. '小时' => 'hour' , '分钟' => 'minute' , '秒' => 'second'
  23. );
  24. foreach ( $unitArr as $cn => $u )
  25. {
  26. if ( $ $u > 0 )
  27. {
  28. $elapse = $ $u . $cn ;
  29. break;
  30. }
  31. }
  32. return $elapse ;
  33. }
  34. $past = 2052345678 ; // Some timestamp in the past
  35. $now = time (); // Current timestamp
  36. $diff = $now - $past ;
  37. echo '发表于' . time2Units ( $diff ) . '前' ;
  38. ?>