PHPの日時の取得について
PHPの日時を取得するのに詰まっております。
どなたかお助けお願いいたします!
やりたいことは下記です。
今月(例:2013.03)の次の月を表示→12ヶ月分繰り返す。
【めざす完成型】
今月2013.03の1か月後は2013.03
今月2013.03の2か月後は2013.04
今月2013.03の3か月後は2013.05
今月2013.03の4か月後は2013.06
今月2013.03の5か月後は2013.07
今月2013.03の6か月後は2013.08
今月2013.03の7か月後は2013.09
今月2013.03の8か月後は2013.10
今月2013.03の9か月後は2013.11
今月2013.03の10か月後は2013.12
今月2013.03の11か月後は2014.01
今月2013.03の12か月後は2014.02
現在のコード
$i = 1;
$cumonth = date("Y.m", strtotime(date("Y-m-01")));
while($i <= 12){
$plmonth += strtotime("+1 month", $cumonth);
$plmonth_ts = date("Y.m", $plmonth);
echo '今月'.$cumonth.'の'.$i.'か月後は'.$plmonth_ts.'<br />';
$i++;
}
↓
表示
↓
今月2013.03の1か月後は1970.02
今月2013.03の2か月後は1970.03
今月2013.03の3か月後は1970.04
今月2013.03の4か月後は1970.05
今月2013.03の5か月後は1970.06
今月2013.03の6か月後は1970.07
今月2013.03の7か月後は1970.08
今月2013.03の8か月後は1970.09
今月2013.03の9か月後は1970.10
今月2013.03の10か月後は1970.11
今月2013.03の11か月後は1970.12
今月2013.03の12か月後は1971.01
※初期の値が1970.01になっています…。
そこでこちらに変えたところ↓
$i = 1;
$cumonth = date("Y.m");
$cumonth_ts = strtotime(date("Y-m-01"));
while($i <= 20){
$plmonth += strtotime("+1 month", $cumonth_ts);
$plmonth_ts = date("Y.m", $plmonth);
echo '今月'.$cumonth.'の'.$i.'か月後は'.$plmonth_ts.'<br />';
$i++;
}
↓
表示
↓
今月2013.03の1か月後は2013.04
今月2013.03の2か月後は2056.06
今月2013.03の3か月後は2099.09
今月2013.03の4か月後は2142.12
今月2013.03の5か月後は2186.03
今月2013.03の6か月後は2229.06
今月2013.03の7か月後は2272.09
今月2013.03の8か月後は2315.12
今月2013.03の9か月後は2359.03
今月2013.03の10か月後は2402.06
今月2013.03の11か月後は2445.09
今月2013.03の12か月後は2488.12
※最初(1ヶ月後)は合っているのですが、2ヶ月後以降がおかしくなってしまいました(涙)
どうぞよろしくお願い申し上げます。
お礼
ありがとうございます! 求めていた通りの答えでした。