PHP函式: date_diff()
適用版本: PHP 5.3.0+
用法:
date_diff() 函式用於計算兩個日期之間的差值,並返回一個 DateInterval 物件。
語法:
date_diff ( DateTimeInterface $start , DateTimeInterface $end [, bool $absolute = false ] ) : DateInterval|false
引數說明:
- $start: 起始日期,必須是一個實現了 DateTimeInterface 介面的物件,比如 DateTime 物件。
- $end: 結束日期,必須是一個實現了 DateTimeInterface 介面的物件。
- $absolute (可選): 如果為 true,則返回的差值的絕對值。預設為 false。
返回值:
該函式返回一個 DateInterval 物件,表示起始日期($start)和結束日期($end)之間的差值。如果發生錯誤,則返回 false。
示例:
$start = new DateTime('2022-01-01');
$end = new DateTime('2022-12-31');
$diff = date_diff($start, $end);
echo $diff->format('%R%a 天'); // 輸出: +364 天
在上面的示例中,我們建立了一個起始日期為 2022-01-01,結束日期為 2022-12-31 的 DateTime 物件。然後,我們使用 date_diff() 函式來計算這兩個日期之間的差值,並將結果儲存在 $diff 變數中。最後,我們使用 DateInterval 物件的 format() 方法來格式化差值,並輸出結果。
注意:
DateInterval 物件的 format() 方法用於格式化日期間隔,並接受一個格式化字串作為引數。在上面的示例中,我們使用 '%R%a 天' 來格式化差值,其中 '%R' 代表正負號,'%a' 代表日期間隔的總天數。
如果發生錯誤(例如,無效的日期),則 date_diff() 函式將返回 false。因此,在使用返回值之前,應該進行錯誤檢查。
補充說明:
- 在 PHP 5.3.0 之前的版本中,可以使用 DateInterval::createFromDateString() 函式來計算日期間隔。但是,這種用法已被廢棄,推薦使用 date_diff() 函式。