重複の可能性:
phpで月の違いを見つけますか?
たとえば、2012-03-01と2013-02-01をデータベースに保存しました。中間の月数を計算するとき、正確な日数や正確な月数(11.92か月など)ではなく、12か月を取得したいのですが、PHPでそれを行うにはどうすればよいですか?
重複の可能性:
phpで月の違いを見つけますか?
たとえば、2012-03-01と2013-02-01をデータベースに保存しました。中間の月数を計算するとき、正確な日数や正確な月数(11.92か月など)ではなく、12か月を取得したいのですが、PHPでそれを行うにはどうすればよいですか?
DateTimeはこれを簡単にします (PHP 5.3 以降が必要です)
$datetime1 = new DateTime('2012-03-01');
$datetime2 = new DateTime('2013-02-01');
$interval = $datetime2->diff($datetime1);
echo (($interval->format('%y') * 12) + $interval->format('%m'));
これを試して:
<?php
$d1 = date_create('2013-01-31');
$d2= date_create('2013-05-12');
$interval= date_diff($d1, $d2);
echo $interval->format('%m months');
?>