Home  >  Article  >  Backend Development  >  PHP calculates the time difference to calculate the time since the article was published_PHP tutorial

PHP calculates the time difference to calculate the time since the article was published_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:48:221102browse

I believe that after I see some articles published on many websites, it will be displayed that the article was posted a few seconds ago or a few months ago. Now I will introduce to you how to use PHP to calculate the time difference to calculate the article publication. How long has it been since now?

The code is as follows
 代码如下 复制代码


/**
* 时间差计算

*/
function time2Units ( $time )
{
$year = floor ( $time / 60 / 60 / 24 / 365 );
$time -= $year * 60 * 60 * 24 * 365 ;
$month = floor ( $time / 60 / 60 / 24 / 30 );
$time -= $month * 60 * 60 * 24 * 30 ;
$week = floor ( $time / 60 / 60 / 24 / 7 );
$time -= $week * 60 * 60 * 24 * 7 ;
$day = floor ( $time / 60 / 60 / 24 );
$time -= $day * 60 * 60 * 24 ;
$hour = floor ( $time / 60 / 60 );
$time -= $hour * 60 * 60 ;
$minute = floor ( $time / 60 );
$time -= $minute * 60 ;
$second = $time ;
$elapse = '' ;

$unitArr = array( '年' => 'year' ,  '个月' => 'month' ,   '周' => 'week' ,  '天' => 'day' ,
                     '小时' => 'hour' ,  '分钟' => 'minute' ,  '秒' => 'second'
                     );

   foreach (  $unitArr  as  $cn  =>  $u  )
   {
       if ( $ $u  >  0  )
       {
            $elapse  = $ $u  .  $cn ;
           break;
       }
   }

   return  $elapse ;
}

$past  =  2052345678 ;  // Some timestamp in the past
$now   =  time ();      // Current timestamp
$diff =  $now  -  $past ;

echo  '发表于'  .  time2Units ( $diff ) .  '前' ;
?>

Copy code

/**
* Time difference calculation

*/
function time2Units ( $time )
{
$year = floor ( $time / 60 / 60 / 24 / 365 );
$time -= $year * 60 * 60 * 24 * 365 ;
$month = floor ( $time / 60 / 60 / 24 / 30 );
$time -= $month * 60 * 60 * 24 * 30 ;
$week = floor ( $time / 60 / 60 / 24 / 7 );
$time -= $week * 60 * 60 * 24 * 7 ;
$day = floor ( $time / 60 / 60 / 24 );
$time -= $day * 60 * 60 * 24 ;
$hour = floor ( $time / 60 / 60 );
$time -= $hour * 60 * 60 ;
$minute = floor ($time / 60);
$time -= $minute * 60 ;
$second = $time ;
$elapse = '' ;

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn