date_diff()函數(shù)返回兩個(gè) DateTime 對(duì)象間的差值。
date_diff()函數(shù)是DateTime::diff的別名。它接受兩個(gè)DateTime對(duì)象作為參數(shù)并計(jì)算它們之間的差值。
date_diff($datetime1, $datetime2[, $absolute])
序號(hào) | 參數(shù)及說明 |
---|---|
1 | datetime1(必需) 這是一個(gè)DateTime對(duì)象,表示比較的日期之一。 |
2 | $datetime2 (必需) 這是一個(gè)DateTime對(duì)象,表示比較的日期之一。 |
3 | $absolute (可選) 一個(gè)布爾值,表示間隔差是否應(yīng)該為正 |
PHP date_diff()函數(shù)返回一個(gè)DateInterval對(duì)象,該對(duì)象指定兩個(gè)給定日期之間的差。如果失敗,此函數(shù)返回false。
此函數(shù)最初是在PHP版本5.3.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_diff()函數(shù)的用法-
<?php //創(chuàng)建一個(gè)DateTime對(duì)象 $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
以下示例計(jì)算給定日期與當(dāng)前日期之間的差值
<?php $date1 = date_create("25-09-1989"); $date2 = date_create(); $interval = date_diff($date1, $date2); print($interval->format('%Y 年 %d 天')); ?>測試看看?/?
輸出結(jié)果
30 年 14 天
計(jì)算兩個(gè)日期間的差值:
<?php //創(chuàng)建一個(gè)DateTime對(duì)象 $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 天