2016-12-15 48 views
0

我有一个cakephp代码。因为我将数据库中的特定日期存储到var $ endate中。我将$ endate的值存储在另一个变量中。 例如:$ date = $ endate; 下面的循环重复显示月根据特定日期显示最近10个月

for ($l = 0; $l < 10; $l++) { 
    $month[] = date("Y-M", strtotime($date . " -$l months")); 
} 

输出:

[0] => 2017-Mar 
[1] => 2017-Mar 
[2] => 2017-Jan 
[3] => 2016-Dec 
[4] => 2016-Dec 
[5] => 2016-Oct 
[6] => 2016-Oct 
[7] => 2016-Aug 
[8] => 2016-Jul 
[9] => 2016-Jul 

如何显示在过去的10个月内根据我获取日期?

回答

0

编辑:啊,没有看到你的序列/输出不正确:-)删除了答案的一部分。

我建议使用Cake的Date类,但这似乎与您的问题没有直接关系。

$now = new \Cake\I18n\FrozenTime(); 
$monthsToGoBack = 10; 
$months = []; 

for ($i = 0; $i <= $monthsToGoBack; $i++) { 
    $months[] = $now->subMonths($i)->firstOfMonth()->hour(0)->minute(0)->second(0); 
} 

输出:https://gist.github.com/Spriz/a21e6771f71cef0ad659e356737996a0

使用Cake的时间类