月単位で足し引き

なぜだか仕事でPHPを触ることになった。
Script言語にあまり明るくないが部品作りなのでなんとななってる感じ。


日付に対して6ヶ月足すという仕様があってそこを実装しようとしてたんだけど
Oracleのadd_monthsのイメージで作りたいんだけどPHPにはそんな関数はないらしい。


サンプルを探して試してみると


<?php
echo "1ヶ月前" . date("Y/m/d",strtotime("-1 month" ,strtotime("2008/3/30")))."\n";
echo "1ヶ月後" . date("Y/m/d",strtotime("+1 month" ,strtotime("2008/1/31")));
?>

結果
1ヶ月前2008/03/01
1ヶ月後2008/03/02


なんて残念な結果だろう・・・。
単純にtimestampの足し算をやってるらしい。