【发布时间】:2016-12-04 11:47:48
【问题描述】:
我有一个特定的日期 - 例如,7 月 6 日。它位于 2016 年的第 27 周。 使用 PHP 5.5.9 我正在尝试使用以下函数返回该周发生的 7 个日期:
function getStartAndEndDate($week, $year) {
$i=0;
$dto = new DateTime();
$ret[$i] = $dto->setISODate($year, $week)->format('Y-m-d');
$i++;
while ( $i < 7 ){
$ret[$i] = $dto->modify('+' . $i . ' days')->format('Y-m-d');
$i++;
}
return $ret;
}
我期待从 2016-07-04 到 2016-07-10 的 7 个连续日期的列表
相反,我收到以下日期: 2016-07-04, 2016-07-05, 2016-07-07, 2016-07-10 2016-07-14 2016-07-19, 2016-07-25
我相信以下行是我的问题的根源:
$ret[$i] = $dto->modify('+' . $i . ' days')->format('Y-m-d');
当我指定静态值时,代码会起作用。
任何建议或见解将不胜感激。
谢谢
【问题讨论】:
-
谢谢 Tejaswi 和 Trincot。你的解释都很有帮助