date_diff()是PHP中的内置函数, 用于计算两个日期之间的差。此函数在成功时返回DateInterval对象, 在失败时返回FALSE。
语法如下:
date_diff($datetime1, $datetime2);
参数:date_diff()函数接受上面和下面描述的两个参数:
- $ datetime1:它是一个强制性参数, 用于指定第一个DateTime对象。
- $ datetime2:它是一个强制性参数, 用于指定第二个DateTime对象。
返回值:它返回两个DateTime对象之间的差, 否则返回FALSE(失败时)。
下面的程序说明了date_diff()函数:
程序1:
<?php
// PHP program to illustrate
// date_diff() function
// creates DateTime objects
$datetime1 = date_create( '2017-06-28' );
$datetime2 = date_create( '2018-06-28' );
// calculates the difference between DateTime objects
$interval = date_diff( $datetime1 , $datetime2 );
// printing result in days format
echo $interval ->format( '%R%a days' );
?>
输出如下:
+365 days
程式2:
<?php
// PHP program to illustrate
// date_diff() function
// difference only in year
$datetime1 = date_create( '2017-06-28' );
$datetime2 = date_create( '2018-06-28' );
$interval = date_diff( $datetime1 , $datetime2 );
echo $interval ->format( '%R%a days' ) . "\n" ;
// Difference only in months
$datetime1 = date_create( '2018-04-28' );
$datetime2 = date_create( '2018-06-28' );
$interval = date_diff( $datetime1 , $datetime2 );
echo $interval ->format( '%R%a days' ) . "\n" ;
// Difference in year, month, days
$datetime1 = date_create( '2017-06-28' );
$datetime2 = date_create( '2018-04-05' );
$interval = date_diff( $datetime1 , $datetime2 );
echo $interval ->format( '%R%a days' ) . "\n" ;
?>
输出如下:
+365 days
+61 days
+281 days
参考:http://php.net/manual/en/function.date-diff.php