我需要找到一组日期之间的日期,所以我尝试使用DatePeriod。我开始尝试这个示例代码:
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$period = new DatePeriod($start, $interval, $end,DatePeriod::EXCLUDE_START_DATE);
var_dump($period);
DateTime和DateInterval对象var_dump正确的数据。但是DatePeriod对象没有给我任何范围! object(DatePeriod)#5 (0) {}
这在我的笔记本电脑上工作正常,我得到了返回的日期范围。问题是当我在我的服务器中运行它时。服务器中的PHP版本是5.3.3。 PHP站点声明DatePeriod只需要PHP> -5.3.0。
有没有人对这里发生的事情有任何建议?非常感谢!
答案 0 :(得分:1)
在PHP版本5.4.17之前,DatePeriod对象的内部是"隐藏",并且在var_dumped时不会显示任何内容。
但是,它仍然是可迭代的,因此DatePeriod对象上的foreach
循环仍将返回该时段的一系列日期