php計算幾分鐘前、幾小時前、幾天前的幾個函數、類分享

來源:互聯網
上載者:User

 這篇文章主要介紹了php計算時間幾分鐘前、幾小時前、幾天前的幾個函數、類分享,需要的朋友可以參考下

一、函數實現執行個體1:  代碼如下: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;       }      } } 執行個體2:代碼如下:<?phpfunction 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.'前';        }    }}?> 執行個體3:  代碼如下: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 '剛剛';}}}  執行個體4:  代碼如下: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;    }   }    }}}}  二、類的實現 代碼如下:<?php/* * 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)            {                return 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', '當前'); * */
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.