Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何知道年月日期前三个月_Php_Date - Fatal编程技术网

Php 如何知道年月日期前三个月

Php 如何知道年月日期前三个月,php,date,Php,Date,一个日期,只有年和月加在一起,它来自php函数。假设是201403或201412。使用php提供的相同格式,即201312用于第一个日期,201409用于第二个日期,如何在该日期前03个月到达?由于该日期格式是非标准格式,您需要使用DateTime::createFromFormat()解析该日期。然后,您可以使用DateTime::modify()获得所需的日期 $date = DateTime::createFromFormat('Ym', '201403'); $date->modi

一个日期,只有年和月加在一起,它来自php函数。假设是201403或201412。使用php提供的相同格式,即201312用于第一个日期,201409用于第二个日期,如何在该日期前03个月到达?

由于该日期格式是非标准格式,您需要使用
DateTime::createFromFormat()
解析该日期。然后,您可以使用
DateTime::modify()
获得所需的日期

$date = DateTime::createFromFormat('Ym', '201403');
$date->modify('first day of this month')->modify('-3 months');
echo $date->format('Ym');

创建一个真正的日期作为月份的第一天;进行3个月的调整,并返回格式仅为年和月的新日期

$yearMonth = '201403';
$date = new DateTime($yearMonth . '01');
$date->sub(new DateInterval('P3M'));
echo $date->format('Ym');

最好用
重置所有字段
|
,因为例如,1月30日的
201402
将返回3月。