我试图从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
会来两次。
答案 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