首页 » 建站技术 » PHP 技术 » 浏览内容
php把时间计算成几分钟前,几小时前,几天前的函数
<?php//计算时间,规则如下,如果一小时内,显示分钟,如果大于1小时小于1天显示小时,如果大于天且小于3天,显示天数,否则显示日期时间 function time_aaa($s){ $m=0;$hr=0;$d=0;$td="now"; if($s>59) { $m = (int)($s/60); $s = $s-($m*60); // sec left over $td = "$m 秒钟前"; } if($m>59){ $hr = (int)($m/60); $m = $m-($hr*60); // min left over $td = "$hr 小时"; if($hr>1) $td .= ""; if($m>0) $td .= ", $m 分钟前"; } if($hr>23){ $d = (int)($hr/24); $hr = $hr-($d*24); // hr left over $td = "$d 天"; if($d>1) $td .= ""; if($d<3){ if($hr>0) $td .= ", $hr 小时前"; if($hr>1) $td .= ""; } } return $td; } //调用方法 $now_time = date("Y-m-d H:i:s",time()); $timestamp1 = strtotime($now_time); //转换成Unix 时间戳 $timestamp2 = $row['time'];//另一个变量,是Unix 时间戳 $rd = $timestamp1-$timestamp2; // has to be a positive result if($rd > 259200){ $td = date("Y-m-d H:i:s",$row['time']); } else { $td = time_aaa($rd); } $td .= ($td=="now")? "":""; // in this example "ago" echo $td; // 输出 ?>