所以这是我今天学到的一个有趣的问题.
从过去的一个月开始,我需要填充过去12个月的数组.所以在2011年8月,过去12个月将是2010年9月 - 2011年7月.为此,我使用:
for ($i = 1; $i <= 12; $i++)
$months[] = date("Y-m%", strtotime("-$i months"));
Run Code Online (Sandbox Code Playgroud)
上面的代码在8月30日运行正常.我过去12个月:
array
0 => string '2011-07%' (length=8)
1 => string '2011-06%' (length=8)
2 => string '2011-05%' (length=8)
3 => string '2011-04%' (length=8)
4 => string '2011-03%' (length=8)
5 => string '2011-02%' (length=8)
6 => string '2011-01%' (length=8)
7 => string '2010-12%' (length=8)
8 => string '2010-11%' (length=8)
9 => string '2010-10%' (length=8)
10 => string '2010-09%' (length=8)
11 => string '2010-08%' (length=8)
Run Code Online (Sandbox Code Playgroud)
但是当我在8月31日运行时,我得到:
array
0 => string '2011-07%' (length=8)
1 => string '2011-07%' (length=8)
2 => string '2011-05%' (length=8)
3 => string '2011-05%' (length=8)
4 => string '2011-03%' (length=8)
5 => string '2011-03%' (length=8)
6 => string '2011-01%' (length=8)
7 => string '2010-12%' (length=8)
8 => string '2010-12%' (length=8)
9 => string '2010-10%' (length=8)
10 => string '2010-10%' (length=8)
11 => string '2010-08%' (length=8)
Run Code Online (Sandbox Code Playgroud)
我试过Windows和Unix.有人有解决方案吗?
JJJ*_*JJJ 60
我相信有人会有一个更优雅的解决方案,但你可以从本月1日起开始倒计时.
for ($i = 1; $i <= 12; $i++) {
$months[] = date("Y-m%", strtotime( date( 'Y-m-01' )." -$i months"));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25959 次 |
| 最近记录: |