php实现用已经过去多长时间的方式显示时间
本文实例讲述了php用已经过去多长时间的方式显示时间的方法。分享给大家供大家参考。具体如下:
这里以一种可读性比较好的方式显示已经过去多长时间,比如:距离现在10秒,距离现在1天等等。
functiontime_is_older_than($t,$check_time){ $t=strtolower($t); $time_type=substr(preg_replace('/[^a-z]/','',$t),0,1); $val=intval(preg_replace('/[^0-9]/','',$t)); $ts=0; //(s)econds,(m)inutes,(d)ays,(y)ears if($time_type=='s'){$ts=$val;} elseif($time_type=='m'){$ts=$val*60;} elseif($time_type=='h'){$ts=$val*60*60;} elseif($time_type=='d'){$ts=$val*60*60*24;} elseif($time_type=='y'){$ts=$val*60*60*24*365;} else{die('Unknowntimeformatgiven!');} if($check_time<(time()-$ts)){returntrue;} returnfalse; } //使用范例: //timestamptotest: //(couldbefromandatabaseorsomethingelse) $time=1146722922; //longifcheck: if(time_is_older_than('30m',$time)){ print'Thegiventimestamp:'.date('ldS\ofFYh:i:sA',$time); print"-isolderthan30minutes<br/>\n"; } else{ print'Thegiventimestamp:'.date('ldS\ofFYh:i:sA',$time); print"-isNOTolderthan30minutes<br/>\n"; } //shortchecks: if(time_is_older_than('10s',$time)){print"Isolderthan10seconds<br/>\n";} if(time_is_older_than('200m',$time)){print"Isolderthan200minutes<br/>\n";} if(time_is_older_than('2h',$time)){print"Isolderthan2hours<br/>\n";} if(time_is_older_than('4d',$time)){print"Isolderthan4days<br/>\n";} if(time_is_older_than('1y',$time)){print"Isolderthanoneyear<br/>\n";}
希望本文所述对大家的php程序设计有所帮助。