PHP函式: DateTimeInterface::diff()
函式描述: DateTimeInterface::diff() 函式用於計算兩個日期之間的差異,並返回一個 DateInterval 物件。
用法: 該函式需要一個 DateTimeInterface 物件作為引數,並返回一個 DateInterval 物件。
語法: DateTimeInterface::diff(DateTimeInterface $datetime2, bool $absolute = false): DateInterval
引數:
- $datetime2: 一個 DateTimeInterface 物件,表示與當前日期進行比較的日期。
- $absolute: 可選引數,用於確定返回的 DateInterval 物件是否包含負號。如果設為 true,返回的物件將總是正數。
返回值: 返回一個 DateInterval 物件,表示兩個日期之間的差異。
示例:
$datetime1 = new DateTime('2022-01-01 00:00:00');
$datetime2 = new DateTime('2022-01-02 12:00:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days %H hours'); // 輸出: +1 days 12 hours
在上面的示例中,我們建立了兩個 DateTime 物件,並計算了它們之間的日期差異。然後,我們使用 format() 方法來以指定的格式輸出差異。其中 %R
表示正號或負號,%a
表示天數,%H
表示小時數。
注意:
- DateTime::diff() 方法是在 PHP 5.3.0 版本中引入的,因此需要 PHP 5.3.0 或更高版本才能使用該函式。
- DateTimeInterface 介面是在 PHP 5.5.0 版本中引入的,因此需要 PHP 5.5.0 或更高版本才能使用該介面。
- 如果將 $absolute 引數設為 true,則返回的 DateInterval 物件的值總是為正數。如果設為 false 或不傳遞該引數,預設情況下計算的差異將反映在 DateInterval 物件中的正負號上。