PHP将日期间隔diff转换为十进制

Ant*_*Max 3 php datetime datediff

我正在尝试将两个日期之间的差异转换为总年数,现在我正在使用它:

 $datetime1 = new DateTime('2009-10-11'); 
 $datetime2 = new DateTime('2010-10-10');
 $interval = $datetime1->diff($datetime2);
 return $interval->format('%y');
Run Code Online (Sandbox Code Playgroud)

这会给我一个int(比如0表示<一年,2表示两年,等等)

我需要结果为十进制如下:

0.9 - 9个月

1.2 - 1年零2个月

3.5 - 3年零5个月

等等..

谢谢!

Mat*_*hew 5

如果你不关心完美的准确性:

return $interval->days / 365;
Run Code Online (Sandbox Code Playgroud)

你也可以这样做return $interval->y + $interval->m / 12 + $interval->d / 365.

在我看到@ 2unco的评论之前,甚至没有注意到你的奇怪的十进制约定.那看起来像:return $interval->y . '.' . $interval->m.