英国日期的差异

时间:2015-09-30 11:48:27

标签: php date time

我试图显示两个日期之间的天数和月份差异

$date1 = $start;
$date2 = $end;
$diff = abs(strtotime($date2) - strtotime($date1));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

printf("%d years, %d months, %d days\n", $years, $months, $days);

然而,这显示为0 years, 0 months, 0 days

$start$end中的日期格式为DD/MM/YYYY

1 个答案:

答案 0 :(得分:1)

正如您在评论中所述, $start$end中的日期采用DD/MM/YYYY 格式。因此,您需要先使用d-m-Ystr_replace将其替换为DateTime::createFromFormat,因此请尝试使用

$date1 = str_replace('/','-',$start);
$date2 = str_replace('/','-',$end);

PHP date conversion to strtotime