dポイントプレゼントキャンペーン実施中!

PHP4で前の月を取得したい場合、以下のような形では
誤りだと思うのですが、どのようにすれば、
取得できるでしょうか。
よろしくお願いします。
$date = date("Ym") - 1;

A 回答 (4件)

PHPは日付に関して柔軟なので1~12月以外の月


でも自動で計算してくれるのでOKです。
#2さんのおっしゃるとおり月末処理は考慮する
必要があります。2/31は3/3となるので・・・。

先月の1日は
mktime(0,0,0,date("m")-1,1,date("Y"))
先月の末日は
mktime(0,0,0,date("m"),0,date("Y"))

Ym形式で表示するなら以下としてください。
date("Ym",mktime(0,0,0,date("m")-1,1,date("Y")))
    • good
    • 0

<?php


$date = date("Ym") -1;
if($date % 100 == 0){
$date = $date -100 +12;
}
?>
    • good
    • 0

がると申します。


手法は様々にありますが、以下の点に注意してください。
・日付は無視でよいですか?
 もし日付も気にされる場合はご注意を。3/31から単純に月を-1すると2/31になってしまいます。
・マイナス値に注意を
1月の時に-1すると、処理しないと0月になってしまうので。

このあたりをちゃんと考慮すると、案外長いソースにならざるを得ないものです。
    • good
    • 0

mktimeを使ったらどうでしょう


<?php
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
echo "前の月は".date("m", $lastmonth)."月です";
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!