如何将月份添加到日期字符串,如201308(2013年8月),并以相同的格式返回,即201408(2014年8月)?我试过:
$dateToDflt = "201308";
$dateToDflt = strtotime(date("Ym", strtotime($dateToDflt)) . " +12 months");
$dateToDflt = date("Ym",$dateToDflt);
这只是把今天的日期提前了12个月,所以我想我把时间和日期格式搞混了
$date = DateTime::createFromFormat('Ym', $dateToDflt);
$date->modify('+12 months')
$dateToDflt = $date->format('Ym');
或简单的字符串操作,包括强制转换
$dateToDflt[3] = $dateToDflt[3] + 1;
当然只适用于2010年至2018年。要将范围扩展到2098,添加;)
$dateToDflt[2] += (int) ($dateToDflt[3] == 0);
http://codepad.org/43LACMoZ;)