如何知道一个月前的三个月

时间:2015-03-01 18:10:51

标签: php date

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

2 个答案:

答案 0 :(得分:3)

由于该日期格式是非标准格式,因此您需要使用DateTime::createFromFormat()来解析日期。然后,您可以使用DateTime::modify()来找到您想要的日期。

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

Demo

答案 1 :(得分:0)

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

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