2016-12-15 57 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的時間類