20

重複の可能性:
strtotime と date を使用して、今日に対して前の月と年を取得する方法は?

今日は 12 月 31 日ですが、12 月をstrtotime("-1 months")返します。

echo date("Y-m", strtotime("-1 months"));

同じstrtotime("last month")

前月(11月)を正しく返すにはどうすればよいですか?

テスト: http://codepad.viper-7.com/XvMaMB

4

2 に答える 2

36
strtotime("first day of last month")

これは、 RelativeFormatsのマニュアルページfirst day ofで詳しく説明されている重要な部分です。


例:http ://codepad.viper-7.com/dB35q8 (今日の日付がハードコードされている)

于 2012-12-31T14:17:53.937 に答える
11

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

コードパッドを参照

于 2012-12-31T14:26:22.943 に答える