将12个月添加到日期字符串并以相同格式返回201301(Ym)

时间:2013-01-15 11:02:57

标签: php date

如何将日期字符串添加到201308(2013年8月)等日期字符串并以相同的格式返回,即201408(2014年8月)?我试过了:

$dateToDflt = "201308";
$dateToDflt = strtotime(date("Ym", strtotime($dateToDflt)) . " +12 months");
$dateToDflt = date("Ym",$dateToDflt);

这只是在今天的日期之前提前12个月,所以我认为我的时间和日期格式混乱了

1 个答案:

答案 0 :(得分:1)

$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;)