PHP头条
热点:

php计算几分钟前、几小时前、几天前的几个函数、类分享


 这篇文章主要介绍了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:

代码如下:<?php

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.'前';

        }

    }

}

?>

 

实例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', '当前');

 *

 */

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

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐