我发现使用DatePeriod有问题,这可能是因为我是愚蠢的哈哈.
正如您所看到的,我在结束日期中添加了+1,因为我想要包含范围的最后日期.
但我的问题是,当我有结束日期31时,它使它为32,这不是一个日期,所以它抛出一个错误.
有没有办法包括结束日期或使+1工作?
$period = new DatePeriod(
new DateTime($event['startyear'].$event['startmonth'].$event['startdate']),
new DateInterval('P1D'),
new DateTime($event['endyear'].$event['endmonth'].$event['enddate'] +1)
);
foreach ($period as $savedDate) {
echo $savedDate;
}
Run Code Online (Sandbox Code Playgroud)
jam*_*s0n 10
您应该为初始日期创建日期对象(不包括+1),然后将该对象的日期增加1天.
例如:
$date1 = new DateTime($event['endyear'].$event['endmonth'].$event['enddate']);
$date2 = new DateTime($event['endyear'].$event['endmonth'].$event['enddate']);
$date2->modify('+1 day');
$period = new DatePeriod($date1, new DateInterval('P1D'), $date2);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2831 次 |
| 最近记录: |