1. 程式人生 > >php 計算下個月

php 計算下個月

i++ intval col strong ont str mark ef6 time

在使用如下方法計算當前日期以後的6個月的時候發現了問題

for($i = 0;$i<6;$i++){
    echo date(‘Y-m-d‘, mktime(0, 0, 0, intval(date(‘m‘))+$i, date(‘d‘), date(‘Y‘)));
    echo PHP_EOL;
}

返回結果如下
技術分享圖片

如果下月個沒有29號就會出現問題

改下成如下,將天數d = 1

for($i = 0;$i<6;$i++){
    echo date(‘Y-m-d‘, mktime(0, 0, 0, intval(date(‘m‘))+$i, 1, date(‘Y‘)));
    echo PHP_EOL;
}

恢復正常
技術分享圖片

其它方法
月份/12 求余

$month = date(‘n‘);
for($i = 0;$i<6;$i++){
    $m = $month + $i;
    $now_month = $m%12;
    echo $now_month == 0? 12:$now_month;
    echo PHP_EOL;
}

php 計算下個月