日期:2014-05-17  浏览次数:20438 次

PHP中"多少时间之前的"做法
经常看到,有的视频站上,都显示某个视频,是多少天之前,多少分钟之前,多少年之前,
其实实现起来不麻烦,下面是函数:

<?PHP
include_once('timeago.php');
$cur_time1 ="1291684422";//UNIX时间,统一用
echo time_ago($cur_time1) ;
?>
timeago.php
<?PHP
function time_ago($cur_time){
$time_ = time() - $cur_time;

$seconds =$time_;
$minutes = round($time_ / 60);
$hours = round($time_ / 3600);
$days = round($time_ / 86400);
$weeks = round($time_ / 604800);
$months = round($time_ / 2419200);
$years = round($time_ / 29030400);

//Seconds
if($seconds <= 60){

   $time="$seconds seconds ago";  

//Minutes   
}else if($minutes <= 60){

   if($minutes == 1){
   $time="one minute ago";
   }else{
   $time="$minutes minutes ago";
   }

//Hours
}else if($hours <= 24){

  if($hours == 1){
  $time="one hour ago";
  }else{
  $time="$hours hours ago";
  }

//Days
}else if($days <= 7){

   if($days == 1){
   $time="one day ago";
   }else{
   $time="$days days ago";
   }

//Weeks
}else if($weeks <= 4){

  if($weeks == 1){
  $time="one week ago";
  }else{
  $time="$weeks weeks ago";
  }

//Months 
}else if($months <= 12){

  if($months == 1){
  $time="one month ago";
  }else{
  $time="$months months ago";
  }

//Years
}else{ 

  if($year == 1){
  $time="one year ago";
  }else{
  $time="$year years ago";
  } 

}
return $time;
}
?>

注意,由于英文跟中文的语法的习惯,中文的话,1年和2年是没复数的表示上的分别的,所以上面的代码自己适当改下就可以用了