年份之间的日期差异(以天为单位)

时间:2020-08-11 07:39:02

标签: php

如何在不关注年份的情况下计算两个日期之间的日期差?

例如,如果我有$first = '20/08/2019'$second = '10/08/2020',即使$second日期比$first早一年,该函数也应返回10?

2 个答案:

答案 0 :(得分:1)

我找到了一种方法。只要获得更大的年份(就我而言,我知道它将始终是$first日期),然后使用该年份重新创建$second日期:

$first = new \DateTime('10/08/2020');
$first_year = $first->format('Y');
$second = new \DateTime('20/08/2019'); 
$second_without_year = $second->format('m-d');
$second_modified = new \DateTime($first_year.'-'.$second_without_year);
    
$first->diff($second_modified)->format("%R%a");

答案 1 :(得分:0)

通过忽略年份,我想我们也包括leap年。在这种情况下,以下代码可能会起作用:

$first = date_create('20-08-2019');
$second = date_create('10-08-2020');
$interval = date_diff($first, $second);
$diff = abs($interval->format("%R%a"));
if($diff>365){
  $diff = intval($diff/365);
}

要忽略the年天数,请从$ diff中减去年份之间的of年数。