我如何在codeigniter(php)中获得之前的6个月?

时间:2013-08-21 01:50:35

标签: php codeigniter

我正在制作一个结算页面。

在这里,我必须根据当月获得最新的6个月。

例如,

如果我使用,

date('Ym')

我得到201308

如果我使用,

date('Ym')-1

我得到201307

好的,好的!但问题是,

如果当前月份是201301怎么办?

在这种情况下如果我

date('Ym')-1

我得到201300,但我需要201212。​​

有什么好主意吗?

1 个答案:

答案 0 :(得分:2)

请勿使用date()。它不是为它而制造的。请改用DateTime()

$dt = new DateTime();
$dt->modify('-1 month');
echo $dt->format('Ym');

See it in action

或者

$dt = new DateTime();
$dt->sub(new DateInterval('P1M'));
echo $dt->format('Ym');

See it in action