$months = array();
$first = strtotime("first day this month");
for ( $i = 1; $i <= 6; $i++ ) {
array_push($months, date('F', strtotime("-$i month", $first)));
}
var_dump($months);
此代码在今天(3月)运行时无法正常运行
输出:
array(6) {
[0]=>
string(5) "March"
[1]=>
string(7) "January"
[2]=>
string(8) "December"
[3]=>
string(8) "November"
[4]=>
string(7) "October"
[5]=>
string(9) "September"
}
二月在哪儿?
答案 0 :(得分:0)
将您的代码更改为此以查看实际发生的情况:
$months = array();
$first = strtotime("first day this month");
echo date('d-F-Y', $first);
for ( $i = 1; $i <= 6; $i++ ) {
array_push($months, date('d-F-Y', strtotime("-$i month", $first)));
}
var_dump($months);
您会看到$first
日期不对。它设置为29-March-2014
。为什么二月不在?因为它只有28天:)
解决方案是:$first = strtotime("first day of this month");
输出01-March-2014
。