如何使用 PHP 计算两个字符串日期的天数差异?
How to calculate difference of two string dates in days using PHP?
我有两个日期变量:
$dnow = "2016-12-1";
$dafter = "2016-12-11";
我想计算这两个字符串格式的日期的差异,我该如何计算?
我用了
date_diff($object, $object2)
但它需要两个日期对象,而且我有 String 格式的日期
,使用 date_diff
后出现以下错误
Message: Object of class DateInterval could not be converted to string.
您可以使用 strtotime
函数创建两个日期的时间戳并比较这些值。
<?php
$start = strtotime('2016-12-1');
$end = strtotime('2016-12-11');
$diffInSeconds = $end - $start;
$diffInDays = $diffInSeconds / 86400;
$datetime1=date_create($dnow);
$datetime2 = date_create($dafter);
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
//%R is used to show +ive or -ive symbol and %a is used to show you numeric difference
试试这个,使用 date_create
$dnow = "2016-12-1";
$dafter = "2016-12-11";
$date1=date_create($dnow);
$date2=date_create($dafter);
$diff=date_diff($date1,$date2);
print_r($diff);
$dnow = "2016-12-1";
$dafter = "2016-12-11";
$dnow=date_create($dnow);
$dafter=date_create($dafter);
$difference=date_diff($dnow,$dafter);
如果你只需要天数,那么你可以使用DateInterval对象的days
属性.
$day1 = '2016-12-1';
$day2 = '2016-12-11';
$days_elapsed = date_diff(date_create(date($day1)), date_create($day2)) -> days;
echo $days_elapsed; //Outputs 10
我有两个日期变量:
$dnow = "2016-12-1";
$dafter = "2016-12-11";
我想计算这两个字符串格式的日期的差异,我该如何计算? 我用了
date_diff($object, $object2)
但它需要两个日期对象,而且我有 String 格式的日期
,使用 date_diff
后出现以下错误
Message: Object of class DateInterval could not be converted to string.
您可以使用 strtotime
函数创建两个日期的时间戳并比较这些值。
<?php
$start = strtotime('2016-12-1');
$end = strtotime('2016-12-11');
$diffInSeconds = $end - $start;
$diffInDays = $diffInSeconds / 86400;
$datetime1=date_create($dnow);
$datetime2 = date_create($dafter);
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
//%R is used to show +ive or -ive symbol and %a is used to show you numeric difference
试试这个,使用 date_create
$dnow = "2016-12-1";
$dafter = "2016-12-11";
$date1=date_create($dnow);
$date2=date_create($dafter);
$diff=date_diff($date1,$date2);
print_r($diff);
$dnow = "2016-12-1";
$dafter = "2016-12-11";
$dnow=date_create($dnow);
$dafter=date_create($dafter);
$difference=date_diff($dnow,$dafter);
如果你只需要天数,那么你可以使用DateInterval对象的days
属性.
$day1 = '2016-12-1';
$day2 = '2016-12-11';
$days_elapsed = date_diff(date_create(date($day1)), date_create($day2)) -> days;
echo $days_elapsed; //Outputs 10