溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php計(jì)算時(shí)間函數(shù)有哪些

發(fā)布時(shí)間:2021-10-08 10:37:03 來源:億速云 閱讀:136 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“php計(jì)算時(shí)間函數(shù)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“php計(jì)算時(shí)間函數(shù)有哪些”吧!

一、函數(shù)實(shí)現(xiàn)
實(shí)例1:

復(fù)制代碼 代碼如下:

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).'小時(shí)前';
      }else{
       if($dur < 259200){//3天內(nèi)
        return floor($dur/86400).'天前';
       }else{
        return $the_time;
       }
      }
 }


實(shí)例2:

復(fù)制代碼 代碼如下:

<?php
function format_date($time){
    $t=time()-$time;
    $f=array(
        '31536000'=>'年',
        '2592000'=>'個(gè)月',
        '604800'=>'星期',
        '86400'=>'天',
        '3600'=>'小時(shí)',
        '60'=>'分鐘',
        '1'=>'秒'
    );
    foreach ($f as $k=>$v)    {
        if (0 !=$c=floor($t/(int)$k)) {
            return $c.$v.'前';
        }
    }
}
?>

實(shí)例3:

復(fù)制代碼 代碼如下:

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."小時(shí)前";
}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 '剛剛';
}
}
}

實(shí)例4:

復(fù)制代碼 代碼如下:

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).'小時(shí)前';
   }else{
   if($dur < 259200){//3天內(nèi)
       return floor($dur/86400).'天前';
   }else{
       return $the_time;
   }
   }
    }
}
}
}

二、類的實(shí)現(xiàn)

復(fù)制代碼 代碼如下:

<?php
/*
 * author: Solon Ring
 * time: 2011-11-02
 * 發(fā)博時(shí)間計(jì)算(年,月,日,時(shí),分,秒)
 * $createtime 可以是當(dāng)前時(shí)間
 * $gettime 你要傳進(jìn)來的時(shí)間
 */

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())." 小時(shí)前";
                exit();
            }

             if($this->getMinutes() > 1)
            {
                return intval($this->getMinutes())." 分鐘前";
                exit();
            }

           if($this->getSeconds() > 1)
            {
                return intval($this->getSeconds()-1)." 秒前";
                exit();
            }

       }

  }
//類的使用實(shí)例
/*
 *
 * 調(diào)用類輸出方式
 *
 * $a = new Mygettime(time(),strtotime('-25 month'));
 * echo iconv('utf-8', 'gb2312', $a->index())?iconv('utf-8', 'gb2312', $a->index()):iconv('utf-8', 'gb2312', '當(dāng)前');
 *
 */

到此,相信大家對(duì)“php計(jì)算時(shí)間函數(shù)有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI