0

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

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

这只是比今天的日期提前了 12 个月,所以我想我的时间和日期格式很混乱

4

1 回答 1

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

于 2013-01-15T11:06:47.953 回答