本文實例講述了PHP時間處理類操作。分享給大家供大家參考,具體如下:
php中的幾個時間處理類:DateTime,DateTimeZone,DateInterval,DatePeriod。
- DateTime :時間類
- DateTimeZone:時區內
- DateInterval:表示一段時間間隔,它是時間對象做加減法的單位。
- DatePeriod:表示一段時間集合。結合DateInterval可對集合內的時間遍歷處理。
下面是這幾個類的具體使用例子:
?php
function showTimeObj($msg,$timeObj)
{
//使用預定義的格式來轉換時間字符串
if ($msg!=NULL)
{
echo $msg.":";
echo "br>".$timeObj->format(DATE_W3C)."br>";
}
else
{
echo $timeObj->format(DATE_ATOM)."br>";
}
}
try
{
//設置時區
$timezones = new DateTimeZone('Asia/Shanghai');
//獲取當前時間
$timeObj=new DateTime("now",$timezones);
}
catch (Exception $e)
{
echo $e->getMessage();
}
//輸出的+08:00代表東八區、若把時區設為'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: 迭代處理區間內的日期
$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);
}
?>
上述代碼運行結果:
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:這里再為大家推薦幾款時間及日期相關工具供大家參考:
在線日期/天數計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計算器/相差天數計算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數差計算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉換工具:
http://tools.jb51.net/code/unixtime
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》及《php字符串(string)用法總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- php日期轉時間戳,指定日期轉換成時間戳
- 非常全面的php日期時間運算匯總
- 使用PHP的日期與時間函數技巧
- PHP中UNIX時間戳和日期間的轉換與計算實例
- PHP函數之日期時間函數date()使用詳解
- 解析php時間戳與日期的轉換
- php格式化日期和時間格式化示例分享
- PHP中Date()時間日期函數的使用方法小結
- php計算兩個日期時間差(返回年、月、日)
- php獲取指定日期之間的各個周和月的起止時間
- PHP 時間日期操作實戰