主頁(yè) > 知識(shí)庫(kù) > PHP時(shí)間處理類(lèi)操作示例

PHP時(shí)間處理類(lèi)操作示例

熱門(mén)標(biāo)簽:Linux服務(wù)器 阿里云 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 電子圍欄

本文實(shí)例講述了PHP時(shí)間處理類(lèi)操作。分享給大家供大家參考,具體如下:

php中的幾個(gè)時(shí)間處理類(lèi):DateTime,DateTimeZone,DateInterval,DatePeriod。

  • DateTime :時(shí)間類(lèi)
  • DateTimeZone:時(shí)區(qū)內(nèi)
  • DateInterval:表示一段時(shí)間間隔,它是時(shí)間對(duì)象做加減法的單位。
  • DatePeriod:表示一段時(shí)間集合。結(jié)合DateInterval可對(duì)集合內(nèi)的時(shí)間遍歷處理。

下面是這幾個(gè)類(lèi)的具體使用例子:

?php
function showTimeObj($msg,$timeObj)
{
  //使用預(yù)定義的格式來(lái)轉(zhuǎn)換時(shí)間字符串
  if ($msg!=NULL)
  {
    echo $msg.":";
    echo "br>".$timeObj->format(DATE_W3C)."br>";
  }
  else
  {
    echo $timeObj->format(DATE_ATOM)."br>";
  }
}
try
{
  //設(shè)置時(shí)區(qū)
  $timezones = new DateTimeZone('Asia/Shanghai');
  //獲取當(dāng)前時(shí)間
  $timeObj=new DateTime("now",$timezones);
}
catch (Exception $e)
{
  echo $e->getMessage();
}
//輸出的+08:00代表東八區(qū)、若把時(shí)區(qū)設(shè)為'Asia/Tokyo',則為+09:00
showTimeObj('current time',$timeObj);
echo "br>"."br>";
echo "use DateInterval object to add date time".":"."br>";
//加上一天(P=period,必備)
$timeObj->add(new DateInterval('P1D'));
showTimeObj('current time + 1 day',$timeObj);
//加上一小時(shí)(T=time,可選)
$timeObj->add(new DateInterval('P0DT1H'));
showTimeObj('current time + 1 day  1hour',$timeObj);
echo "br>"."br>";
echo "use DatePeriod to process time range like a iterator".":"."br>";
//DatePeriod: 迭代處理區(qū)間內(nèi)的日期
$interval= new DateInterval('P0DT2H');
$start = new DateTime('2018-08-08',$timezones);
$end = new DateTime('2018-08-09',$timezones);
$timeRange = new DatePeriod($start,$interval,$end);
foreach ($timeRange as $hour)
{
  showTimeObj(NULL,$hour);
}
?>

上述代碼運(yùn)行結(jié)果:

current time:
2018-09-04T15:23:46+08:00


use DateInterval object to add date time:
current time + 1 day:
2018-09-05T15:23:46+08:00
current time + 1 day 1hour:
2018-09-05T16:23:46+08:00


use DatePeriod to process time range like a iterator:
2018-08-08T00:00:00+08:00
2018-08-08T02:00:00+08:00
2018-08-08T04:00:00+08:00
2018-08-08T06:00:00+08:00
2018-08-08T08:00:00+08:00
2018-08-08T10:00:00+08:00
2018-08-08T12:00:00+08:00
2018-08-08T14:00:00+08:00
2018-08-08T16:00:00+08:00
2018-08-08T18:00:00+08:00
2018-08-08T20:00:00+08:00
2018-08-08T22:00:00+08:00

PS:這里再為大家推薦幾款時(shí)間及日期相關(guān)工具供大家參考:

在線(xiàn)日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在線(xiàn)日期計(jì)算器/相差天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/datecalc

在線(xiàn)日期天數(shù)差計(jì)算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php日期與時(shí)間用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》及《php字符串(string)用法總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • php日期轉(zhuǎn)時(shí)間戳,指定日期轉(zhuǎn)換成時(shí)間戳
  • 非常全面的php日期時(shí)間運(yùn)算匯總
  • 使用PHP的日期與時(shí)間函數(shù)技巧
  • PHP中UNIX時(shí)間戳和日期間的轉(zhuǎn)換與計(jì)算實(shí)例
  • PHP函數(shù)之日期時(shí)間函數(shù)date()使用詳解
  • 解析php時(shí)間戳與日期的轉(zhuǎn)換
  • php格式化日期和時(shí)間格式化示例分享
  • PHP中Date()時(shí)間日期函數(shù)的使用方法小結(jié)
  • php計(jì)算兩個(gè)日期時(shí)間差(返回年、月、日)
  • php獲取指定日期之間的各個(gè)周和月的起止時(shí)間
  • PHP 時(shí)間日期操作實(shí)戰(zhàn)

標(biāo)簽:衡水 萍鄉(xiāng) 大理 廣元 衢州 江蘇 蚌埠 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP時(shí)間處理類(lèi)操作示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266