【发布时间】:2014-08-22 15:05:14
【问题描述】:
我需要获取从当前日期到下一周的指定日期(在本例中为星期六)的日期列表。
例子:
今天是friday, august 1st 2014,所以它应该得到从今天到saturday, august 9th 2014的日期:
fri, 2014-08-01
sat, 2014-08-02
(sun excluded)
mon, 2014-08-04
tue, 2014-08-05
wed, 2014-08-06
thu, 2014-08-07
fri, 2014-08-08
sat, 2014-08-09
(sun excluded)
我该怎么办?
我正在考虑使用 DateInterval 类,这就是我目前所拥有的:
$now = date('Y-m-d');
$start = new DateTime($now);
$end = new DateTime($now);
$oneweek = new DateInterval('P1W');
$oneday = new DateInterval('P1D');
$days = array();
foreach(new DatePeriod($start, $oneday, $end->add($oneweek)) as $day) {
$day_num = $day->format('N');
if($day_num < 7) {
$days[$day->format('Y-m-d')] = 'valid date';
}
}
它可以很好地排除星期日,但它最多只能在当前日期后 1 周,即 7 天。所以我想知道是否有办法让$end 类似于:'下周的星期六'。
【问题讨论】: