以 PHP 计算 2 个日期之间的年数

2022-08-30 11:44:16

我需要从提供的2个日期获取年数。这是我的代码:

function daysDifference($endDate, $beginDate)
{
   $date_parts1=explode("-", $beginDate);
   $date_parts2=explode("-", $endDate);

   $start_date=gregoriantojd($date_parts1[1], $date_parts1[2], $date_parts1[0]);
   $end_date=gregoriantojd($date_parts2[1], $date_parts2[2], $date_parts2[0]);
   $diff = $end_date - $start_date;
   echo $diff;
   $years = floor($diff / (365.25*60*60*24));
   return $years;
}

echo daysDifference('2011-03-12','2008-03-09');

给出了一个数字输出。当我回来时,得到.我做错了什么?$diff$years0


答案 1
$d1 = new DateTime('2011-03-12');
$d2 = new DateTime('2008-03-09');

$diff = $d2->diff($d1);

echo $diff->y;

答案 2

在 PHP 5.2 框中(是的,它们仍然存在),因此没有 DateTime::d iff() 支持,我最终使用了这个:

$dateString='10-05-1975';
$years = round((time()-strtotime($dateString))/(3600*24*365.25))

推荐