PHP時間處理類操作示例
本文實(shí)例講述了PHP時間處理類操作。分享給大家供大家參考,具體如下:
php中的幾個時間處理類:DateTime,DateTimeZone,DateInterval,DatePeriod。
- DateTime :時間類
- DateTimeZone:時區(qū)內(nèi)
- DateInterval:表示一段時間間隔,它是時間對象做加減法的單位。
- DatePeriod:表示一段時間集合。結(jié)合DateInterval可對集合內(nèi)的時間遍歷處理。
下面是這幾個類的具體使用例子:
<?php function showTimeObj($msg,$timeObj) { //使用預(yù)定義的格式來轉(zhuǎn)換時間字符串 if ($msg!=NULL) { echo $msg.":"; echo "<br>".$timeObj->format(DATE_W3C)."<br>"; } else { echo $timeObj->format(DATE_ATOM)."<br>"; } } try { //設(shè)置時區(qū) $timezones = new DateTimeZone('Asia/Shanghai'); //獲取當(dāng)前時間 $timeObj=new DateTime("now",$timezones); } catch (Exception $e) { echo $e->getMessage(); } //輸出的+08:00代表東八區(qū)、若把時區(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); //加上一小時(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:這里再為大家推薦幾款時間及日期相關(guān)工具供大家參考:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計(jì)算器/相差天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計(jì)算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php日期與時間用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《php字符串(string)用法總結(jié)》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
通過PHP的內(nèi)置函數(shù),通過DES算法對數(shù)據(jù)加密和解密
數(shù)據(jù)加密的基本過程就是對原來為明文的文件或數(shù)據(jù)按某種算法進(jìn)行處理,使其成為不可讀的一段代碼,通常稱為密文,使其只能在輸入相應(yīng)的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達(dá)到保護(hù)數(shù)據(jù)不被非法人竊取、閱讀的目的2012-06-06php數(shù)組函數(shù)序列之a(chǎn)rray_flip() 將數(shù)組鍵名與值對調(diào)
array_flip() 函數(shù)將使數(shù)組的鍵名與其相應(yīng)值調(diào)換,即鍵名變成了值,而值變成了鍵名2011-11-11php創(chuàng)建多級目錄與級聯(lián)刪除文件的方法示例
這篇文章主要介紹了php創(chuàng)建多級目錄與級聯(lián)刪除文件的方法,結(jié)合實(shí)例形式分析了php使用mkdir創(chuàng)建多級目錄與unlink結(jié)合rmdir遞歸刪除多級目錄相關(guān)操作技巧,需要的朋友可以參考下2019-09-09php socket實(shí)現(xiàn)的聊天室代碼分享
這篇文章主要介紹了php socket實(shí)現(xiàn)的聊天室代碼分享,本文實(shí)現(xiàn)代碼來自國外友人,需要的朋友可以參考下2014-08-08php實(shí)現(xiàn)的Captcha驗(yàn)證碼類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的Captcha驗(yàn)證碼類,實(shí)例展示了一個驗(yàn)證碼類程序并附有用法演示實(shí)例,有著非常好的參考借鑒價值,需要的朋友可以參考下2014-09-09