【问题标题】:PHP dateperiod function does not return anythingPHP dateperiod 函数不返回任何内容
【发布时间】:2015-09-25 18:35:33
【问题描述】:

我需要找到一组日期之间的日期,所以我尝试使用 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。

有人对这里发生的事情有什么建议吗?非常感谢!

【问题讨论】:

标签: php date


【解决方案1】:

在 PHP 版本 5.4.17 之前,DatePeriod 对象的内部是“隐藏的”,并且在 var_dumped 时不会显示任何内容。

但是,它仍然是可迭代的,因此在 DatePeriod 对象上的 foreach 循环仍会返回该期间的一系列日期

【讨论】:

  • 不幸的是,它也没有为我迭代。我用 PHP 5.6 把它放在另一台服务器上,它就像一个魅力。不幸的是,我无法使用该服务器来运行此脚本...
  • 不幸的是 3v4l.org 现在只涵盖 PHP 5.4 以上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2016-09-16
  • 2018-08-27
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 2020-02-22
相关资源
最近更新 更多