php函数实现显示几秒前,几分钟前,几天前等方法(网络上什么都有)
一、总结
网络上面什么函数都有
二、php函数实现显示几秒前,几分钟前,几天前等方法
现在很多网站的时间显示都很人性化,不再是单纯的年月日时分秒,而是根据数据更新的时间与当前时间进行比较,实现多少秒前,多少分钟前,多少小时前!
代码一:
1 function format_date($time){ 2 $t=time()-$time; 3 $f=array( 4 '31536000'=>'年', 5 '2592000'=>'个月', 6 '604800'=>'星期', 7 '86400'=>'天', 8 '3600'=>'小时', 9 '60'=>'分钟', 10 '1'=>'秒' 11 ); 12 foreach ($f as $k=>$v) { 13 if (0 !=$c=floor($t/(int)$k)) { 14 return $c.$v.'前'; 15 } 16 } 17 }
代码二:
1 function time_trans($the_time) 2 { 3 $now_time = time(); 4 $show_time = strtotime($the_time); 5 6 $dur = $now_time - $show_time; 7 8 if($dur < 60){ 9 return $dur.'秒前'; 10 }else if($dur < 3600){ 11 return floor($dur/60).'分钟前'; 12 }else if($dur < 86400) { 13 return floor($dur/3600).'小时前'; 14 }else if($dur < 259200) {//3天内 15 return floor($dur / 86400) . '天前'; 16 }else{ 17 return $the_time; 18 } 19 }
代码三:
1 //人性化时间显示 2 function formatTime($time){ 3 $rtime = date("m-d H:i",$time); 4 $htime = date("H:i",$time); 5 $time = time() - $time; 6 if ($time < 60){ 7 $str = '刚刚'; 8 }elseif($time < 60 * 60){ 9 $min = floor($time/60); 10 $str = $min.'分钟前'; 11 }elseif($time < 60 * 60 * 24){ 12 $h = floor($time/(60*60)); 13 $str = $h.'小时前 '; 14 }elseif($time < 60 * 60 * 24 * 3){ 15 $d = floor($time/(60*60*24)); 16 if($d==1){ 17 $str = '昨天 '.$rtime; 18 }else{ 19 $str = '前天 '.$rtime; 20 } 21 }else{ 22 $str = $rtime; 23 } 24 return $str; 25 }