PHP date_diff() 函数用法及示例

PHP Date & Time 函数手册

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版本

此函数最初是在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 天