根据具体日期显示最近10个月

时间:2016-12-15 09:24:22

标签: cakephp-3.0

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

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个月?

1 个答案:

答案 0 :(得分:0)

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

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

使用Cake的Time类的示例:

$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