我有2个这样的日期2018-08-12
,直到2018-12-31
我想根据给定的日期获得每个weeks
的{{1}}的数量,
我想要的输出将是这样的:
month
是否可以使用2个日期来获取每个Array
(
[18 Aug] => 3,
[18 Sep] => 4,
[18 Oct] => 4,
[18 Nov] => 4,
[18 Dec] => 4
)
的{{1}}的数量?
这是我的尝试:
weeks
但是我的结果是这样的:
month
答案 0 :(得分:1)
如果我正确理解了您的问题,则可以通过更复杂的循环来实现,从头到尾运行并构造先前的值
$start = strtotime('2018-08-12');
$end = strtotime('2018-12-31');
$cur = strtotime(date('Y-m-', $end) . date('d', $start));
if ($cur > $end) $cur = strtotime("+1 month", $cur);
$dates = array();
$save = 0;
while ($cur >= $start) {
$temp = round(($end - $cur) / 604800);
$dates[date('Y M', $cur)] = $temp - $save;
$save = $temp;
$cur = strtotime("-1 month", $cur);
}
// Just if you want an ascending order of months
$dates = array_reverse($dates);