date_diff()函数返回两个 DateTime 对象间的差值。
date_diff()函数是DateTime::diff的别名。它接受两个DateTime对象作为参数并计算它们之间的差值。
date_diff($datetime1, $datetime2[, $absolute])
序号 | 参数及说明 |
---|---|
1 | datetime1(必需) 这是一个DateTime对象,表示比较的日期之一。 |
2 | $datetime2 (必需) 这是一个DateTime对象,表示比较的日期之一。 |
3 | $absolute (可选) 一个布尔值,表示间隔差是否应该为正 |
PHP date_diff()函数返回一个DateInterval对象,该对象指定两个给定日期之间的差。如果失败,此函数返回false。
此函数最初是在PHP版本5.3.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_diff()函数的用法-
<?php //创建一个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')); ?>测试看看‹/›
输出结果
22 years 7 days
以下示例计算给定日期与当前日期之间的差值
<?php $date1 = date_create("25-09-1989"); $date2 = date_create(); $interval = date_diff($date1, $date2); print($interval->format('%Y 年 %d 天')); ?>测试看看‹/›
输出结果
30 年 14 天
计算两个日期间的差值:
<?php //创建一个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 天')); ?>测试看看‹/›
输出结果
01 年 8 月 0 天 22 年 6 月 23 天 12 年 1 月 7 天 24 年 5 月 5 天