PHP-从当前日期开始的最后6个月

时间:2018-03-31 14:57:00

标签: php html date web

我试图从PHP当前日期开始的最后六个月。这是一个简单的问题,但我的代码没有给出正确的结果。

for ($j = 0; $j <= 5; $j++) {
    echo date("F Y", strtotime(" -$j month"));
    echo "<br>";
}

输出

March 2018
March 2018
January 2018
December 2017
December 2017
October 2017

我不明白为什么March会来两次。

1 个答案:

答案 0 :(得分:2)

因为strototime('-1 month')无法正确处理月末。

您可以使用当月的第一天:

$dt = strtotime(date('Y-m-01'));
for ($j = 0; $j <= 5; $j++) {
    echo date("F Y", strtotime(" -$j month", $dt));
    echo "<br>";
}

输出:

March 2018
February 2018
January 2018
December 2017
November 2017
October 2017