增加字符串以获得下个月和下一年

时间:2013-12-17 05:13:36

标签: php date time

我有两个引用月份编号和年份编号的变量:

$month = $_REQUEST['month'];
$month1 = sprintf("%02s", $month);;

$year1 = $_REQUEST['year'];
$date1 = $month1.'/01/'.$year1;

这一切都按预期工作。我现在需要在下个月获得类似的变量。所以用简单的英语,这相当于:

$month2 = $month1 + 1; // e.g. if $month1 = 12, $month2 = 01 and $year2 = $year1 + 1

我不相信$date1符合要求的日期格式,所以我不确定我是否可以使用任何日期函数,或者使用数学来增加数字是否更简单?

2 个答案:

答案 0 :(得分:0)

使用DateTime

$dt = DateTime::createFromFormat('m/d/Y', sprintf('%d/01/%d',
        $_REQUEST['month'], $_REQUEST['year']));

$interval = new DateInterval('P1M'); // 1 month

echo $dt->add($interval)->format('m/d/Y');

答案 1 :(得分:0)

使用DateTime(适用于PHP> = 5.2.0):

$month = $_REQUEST['month'];
$year  = $_REQUEST['year'];
$date  = new DateTime("$year-$month-1");
$date->modify('+1 month');
echo "Next month is: ", $date->format('Y-m');

demo