PHPで月末の日付を取得するのにはまったので、ハックに残しておきます。 nヶ月後の末日は、以下のコードで一見取りたくなるのですが、以下のように1〜3月付近で予期していない挙動見せることがあるそうです。
// nヵ月後 echo date('Y-m-d', strtotime(date('Y-m-t') . '-n month')); //2月が表示されない echo date('Y-m-d', strtotime('2014-01-29 +1 month')); // 2014-03-01 echo date('Y-m-d', strtotime('2014-03-31 -1 month')); // 2014-03-03
これを防ぐには、以下のように取得すると1~3月付近も良いそうです。
echo date('Y-m-t', strtotime(date('Y-m-01') . '-n month'));