国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

characters

PHP 中 DateTime 類的作用是在你讀、寫、比較或者計算日期和時間時提供幫助。除了 DateTime 類之外,PHP 還有很多與日期和時間相關的函數(shù),但 DateTime 類為大多數(shù)常規(guī)使用提供了優(yōu)秀的面向對象接口。它還可以處理時區(qū),不過這并不在這篇簡短的介紹之內。

在使用 DateTime 之前,通過 createFromFormat() 工廠方法將原始的日期與時間字符串轉換為對象或使用 new DateTime 來取得當前的日期和時間。使用 format() 將 DateTime 轉換回字符串用于輸出。

<?php 
$raw = '22. 11. 1968'; 
$start = DateTime::createFromFormat('d. m. Y', $raw); 
echo 'Start date: ' . $start->format('Y-m-d') . "\n";

對 DateTime 進行計算時可以使用 DateInterval 類。DateTime 類具有例如 add() 和 sub() 等將 DateInterval 當作參數(shù)的方法。編寫代碼時注意不要認為每一天都是由相同的秒數(shù)構成的,不論是夏令時(DST)還是時區(qū)轉換,使用時間戳計算都會遇到問題,應當選擇日期間隔。使用 diff() 方法來計算日期之間的間隔,它會返回新的 DateInterval,非常容易進行展示。

<?php 
// create a copy of $start and add one month and 6 days 
$end = clone $start; 
$end->add(new DateInterval('P1M6D')); 
$diff = $end->diff($start); 
echo 'Difference: ' . $diff->format('%m month, %d days (total: %a days)') . "\n"; 
// Difference: 1 month, 6 days (total: 37 days)

DateTime 對象之間可以直接進行比較:

<?php 
if ($start < $end) {     
    echo "Start is before the end!\n"; 
}

最后一個例子來演示 DatePeriod 類。它用來對循環(huán)的事件進行迭代。向它傳入開始時間、結束時間和間隔區(qū)間,會得到這其中所有的事件。

<?php // output all thursdays between $start and $end 
$periodInterval = DateInterval::createFromDateString('first thursday'); 
$periodIterator = new DatePeriod($start, $periodInterval, $end, DatePeriod::EXCLUDE_START_DATE); 
foreach ($periodIterator as $date) 
{     
// output each date in the period     
echo $date->format('Y-m-d') . ' '; 
}

Carbon 是一個很受歡迎的 PHP API 擴展。它繼承了 DateTime 類的所有功能,因此只需修改很少的代碼就可以使用更多額外的功能,例如支持本地化、日期加減以及格式化 Datetime 對象,另外還能根據(jù)你的選擇來模擬日期和時間并測試你的代碼。


Previous article: Next article: