• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP获取时间差

php 搞代码 3年前 (2022-01-23) 36次浏览 已收录 0个评论

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', '当前'); * */

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP获取时间差

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址