今日は12月31日ですが、strtotime("-1 months")
は12月を返します。
_echo date("Y-m", strtotime("-1 months"));
_
strtotime("last month")
にも同じ
前月(11月)を適切に戻すにはどうすればよいですか?
strtotime("first day of last month")
first day of
は、 Relative Formats マニュアルページで詳しく説明されている重要な部分です。
例: http://codepad.viper-7.com/dB35q8 (ハードコーディングされた今日の日付)
strtotime("-1 months")
は2012-11-31
、しかし、11月31日はありません。 2012-11-30
、これは2012-12-01
。あなたがするとき、あなたはそれを見るでしょう
echo date("Y-m-d", strtotime("-1 months"));
出力として与える
2012-12-01
codepad を参照してください