date_diff()函數(shù)返回兩個 DateTime 對象間的差值。
date_diff()函數(shù)是DateTime::diff的別名。它接受兩個DateTime對象作為參數(shù)并計算它們之間的差值。
date_diff($datetime1, $datetime2[, $absolute])
| 序號 | 參數(shù)及說明 |
|---|---|
| 1 | datetime1(必需) 這是一個DateTime對象,表示比較的日期之一。 |
| 2 | $datetime2 (必需) 這是一個DateTime對象,表示比較的日期之一。 |
| 3 | $absolute (可選) 一個布爾值,表示間隔差是否應(yīng)該為正 |
PHP date_diff()函數(shù)返回一個DateInterval對象,該對象指定兩個給定日期之間的差。如果失敗,此函數(shù)返回false。
此函數(shù)最初是在PHP版本5.3.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_diff()函數(shù)的用法-
<?php
//創(chuàng)建一個DateTime對象
$date1 = date_create("25-09-1989");
$date2 = date_create("1-09-2012");
$interval = date_diff($date1, $date2);
print($interval->format('%Y years %d days'));
?>測試看看?/?輸出結(jié)果
22 years 7 days
以下示例計算給定日期與當前日期之間的差值
<?php
$date1 = date_create("25-09-1989");
$date2 = date_create();
$interval = date_diff($date1, $date2);
print($interval->format('%Y 年 %d 天'));
?>測試看看?/?輸出結(jié)果
30 年 14 天
計算兩個日期間的差值:
<?php
//創(chuàng)建一個DateTime對象
$date1 = date_create("2012-05-09");
$date2 = date_create("2014-01-09");
$interval = date_diff($date1, $date2);
print($interval->format('%Y 年 %m 月 %d 天'));
print("\n");
$date3 = date_create("1989-08-25");
$date4 = date_create("2012-03-19");
$interval = date_diff($date3, $date4);
print($interval->format('%Y 年 %m 月 %d 天'));
print("\n");
$date5 = date_create("2002-11-16");
$date6 = date_create("2014-12-23");
$interval = date_diff($date5, $date6);
print($interval->format('%Y 年 %m 月 %d 天'));
print("\n");
$date7 = date_create("1989-0-09");
$date8 = date_create("2013-05-14");
$interval = date_diff($date7, $date8);
print($interval->format('%Y 年 %m 月 %d 天'));
?>測試看看?/?輸出結(jié)果
01 年 8 月 0 天 22 年 6 月 23 天 12 年 1 月 7 天 24 年 5 月 5 天