PHP date_diff() 函数



定义和用法

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
   //Creating a DateTime object
   $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 years %d days'));  
?>

这将产生以下结果:

30 years 14 days

示例

<?php
   //Creating a DateTime object
   $date1 = date_create("25-09-2012");
   $date2 = date_create("1-09-2014");
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date3 = date_create("25-09-1989");
   $date4 = date_create("19-03-2012");
   $interval = date_diff($date3, $date4);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date5 = date_create("16-11-2002");
   $date6 = date_create("12-09-2014");
   $interval = date_diff($date5, $date6);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date7 = date_create("25-09-1989");
   $date8 = date_create("1-09-2012");
   $interval = date_diff($date7, $date8);
   print($interval->format('%Y years %m months %d days'));
?>

这将产生以下结果:

01 years 11 months 7 days
22 years 5 months 23 days
11 years 9 months 27 days
22 years 11 months 7 days
php_function_reference.htm
广告