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

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

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

这会给我一个int(比如0表示<比一年,2表示两年,等等) 我需要结果为十进制如下: 0.9 – 9个月 1.2 – 1年零2个月 3.5 – 3年零5个月 等等.. 谢谢!

解决方法:

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

return $interval->days / 365;

您还可以执行返回$interval-> y $interval-> m / 12 $interval-> d / 365之类的操作.

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

上一篇:<?php echo date(“H:i:s”,0);?>的行为


下一篇:mysql计算时间差