Home >Backend Development >PHP Tutorial >PHP把时间转换成几分钟前、几小时前、几天前的几个函数、类分享

PHP把时间转换成几分钟前、几小时前、几天前的几个函数、类分享

WBOY
WBOYOriginal
2016-06-20 12:36:43919browse

这篇文章主要介绍了php计算时间几分钟前、几小时前、几天前的几个函数、类分享,需要的朋友可以参考下
一、函数实现
实例1:

<?phpheader("Content-type: text/html; charset=utf8");date_default_timezone_set("Asia/Shanghai");   //设置时区function time_tran($the_time) {    $now_time = date("Y-m-d H:i:s", time());    //echo $now_time;    $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;                    }                }            }        }    }}echo time_tran("2014-7-8 19:22:01");?>

实例2:

<?php  function time_tranx($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;                         }                    }              }          }     }  }  echo time_tranx("2014-7-8 19:22:01");  ?>

实例3:

<?php  function format_date($time){      $t=time()-$time;  <span style="white-space:pre">    </span>//echo 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.'前';          }      }  }  echo format_date("1404600000");  ?>

实例4:

<?php  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 '刚刚';         }      }  }  echo formatTime("2014-7-8 19:22:01");  ?>

二、类的实现

<?php  /*  * author: china_skag  * time: 2014-07-08  * 发博时间计算(年,月,日,时,分,秒)  * $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', '当前');  *  */

转载:http://blog.csdn.net/china_skag/article/details/37569505

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn