我有以下 while 循环,它比较 2 个日期以查看 1 是否小于另一个,如果不是,则它将第一个日期添加一周。
它工作正常,但是如果日期之间存在较大差异(即大于 12 个月),我会收到超时错误,因为它已经超过了最大执行时间。
谁能帮我提高效率?
while($startDate->timestamp < $current_week->timestamp){
$data['weeks'][$w] = array(
'monday' => $startDate->startofWeek()->format('d/m/Y'),
'sunday' => $startDate->endofWeek()->format('d/m/Y')
);
$w++;
$startDate = $startDate->addDays(7); // Move it on to the following week
}
我应该补充一点,我正在使用 DateTime 的 Carbon API 扩展
谢谢
- - 编辑 - -
发生了一些我不明白的奇怪事情。如果我将硬编码的日期传递给 $startDate,那么 2013-01-06 之后的所有内容都可以正常工作(而且速度很快),但一旦过了这个日期,它就会超时。有什么想法吗?