PHP获取时间差,我们在开发过程中,这是一个经常使用到的函数,比如说我们想查某个时间段的数据,那就要用到这个函数了。
实例一:
/** * 功能:获取时间差 * @param int $time * @return string 时间差值 */function tranTime($time) { $rtime = date("m-d H:i",$time); $htime = date("H:i",$time); $time = time() - $time; if ($time < 60) { $str = '刚刚'; } elseif ($time < 60 * 60) { $min = floor($time/60); $str = $min.'分钟前'; } elseif ($time < 60 * 60 * 24) { $h = floor($time/(60*60)); $str = $h.'小时前 '.$htime; } elseif ($time < 60 * 60 * 24 * 3) { $d = floor($time/(60*60*24)); if($d==1) $str = '昨天 '.$rtime; else $str = '前天 '.$rtime; } else { $str = $rtime; } return $str;}
实例二:
function time_tran($the_time){ $now_time = date("Y-m-d H:i:s",time()+8*60*60); $now_time = strtotime($now_time); $show_time = strtotime($the_time); $dur = $now_time - $show_time; if($dur < 0){ return $the_time; }else{ if($dur < 60){ return $dur.'秒前'; }else{ if($dur < 3600){ return floor($dur/60).'分钟前'; }else{ if($dur < 86400){ return floor($dur/3600).'小时前'; }else{ if($dur < 259200){//3天内 return floor($dur/86400).'天前'; }else{ return $the_time; } } }
实例三:
function format_date($time){ $t=time()-$time; $f=array( '31536000'=>'年', '2592000'=>'个月', '604800'=>'星期', '86400'=>'天', '3600'=>'小时', '60'=>'分钟', '1'=>'秒' ); foreach ($f as $k=>$v) { if (0 !=$c=floor($t/(int)$k)) { return $c.$v.'前'; } }}
实例四:
function formatTime($date) {$str = '';$timer = strtotime($date);$diff = $_SERVER['REQUEST_TIME'] - $timer;$day = floor($diff / 86400);$free = $diff % 86400;if($day > 0) {return $day."天前";}else{if($free>0){$hour = floor($free / 3600);$free = $free % 3600;if($hour>0){return $hour."小时前";}else{if($free>0){$min = floor($free / 60);$free = $free % 60;if($min>0){return $min."分钟前";}else{if($free>0){return $free."秒前";}else{return '刚刚';}}}else{return '刚刚';}}}else{return '刚刚';}}}
实例五:
function time_tran($the_time){$now_time = date("Y-m-d H:i:s",time()+8*60*60); $now_time = strtotime($now_time);$show_time = strtotime($the_time);$dur = $now_time - $show_time;if($dur < 0){return $the_time; }else{if($dur < 60){ return $dur.'秒前'; }else{ if($dur < 3600){ return floor($dur/60).'分钟前'; }else{ if($dur < 86400){ return floor($dur/3600).'小时前'; }else{ if($dur < 259200){//3天内 return floor($dur/86400).'天前'; }else{ return $the_time; } } }}}}
实例六:
/* * author: Solon Ring * time: 2011-11-02 * 发博时间计算(年,月,日,时,分,秒) * $createtime 可以是当前时间 * $gettime 你要传进来的时间 */class Mygettime{function __construct($createtime,$gettime) { $this->createtime = $createtime; $this->gettime = $gettime; }function getSeconds() { return $this->createtime-$this->gettime; }function getMinutes() { return ($this->createtime-$this->gettime)/(60); }function getHours() { return ($this->createtime-$this->gettime)/(60*60); }function getDay() { return ($this->createtime-$this->gettime)/(60*60*24); }function getMonth() { return ($this->createtime-$this->gettime)/(60*60*24*30); }function getYear() { return ($this->createtime-$this->gettime)/(60*60*24*30*12); }function index() { if($this->getYear() > 1) { if($this->getYear() > 2) { return date("Y-m-d",$this->gettime); exit(); } return intval($this->getYear())." 年前"; exit(); }if($this->getMonth() > 1) { return intval($this->getMonth())." 月前"; exit(); }if($this->getDay() > 1) { return intval($this->getDay())." 天前"; exit(); }if($this->getHours() > 1) { return intval($this->getHours())." 小时前"; exit(); }if($this->getMinutes() > 1) { ret<div>)本文来源gaodai.ma#com搞#代!码网_</div><strong>搞代gaodaima码</strong>urn intval($this->getMinutes())." 分钟前"; exit(); }if($this->getSeconds() > 1) { return intval($this->getSeconds()-1)." 秒前"; exit(); }}}//类的使用实例/* * * 调用类输出方式 * * $a = new Mygettime(time(),strtotime('-25 month')); * echo iconv('utf-8', 'gb2312', $a->index())?iconv('utf-8', 'gb2312', $a->index()):iconv('utf-8', 'gb2312', '当前'); * */