在PHP 5.3之前向DateTime对象添加间隔

时间:2013-10-03 08:35:36

标签: php datetime

我正在将项目上传到具有较旧版本PHP的服务器,该服务器不支持add()的{​​{1}}功能。

所以这段代码:

DateTime

在服务器日志上生成此错误:

$tomorrow = $today->add(new DateInterval("P1D"));

我试图找到一个涉及 PHP Fatal error: Call to undefined method DateTime::add() 的解决方案,但我一直遇到错误。我可以使用一个简单的解决方法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用DateTime::modify() (PHP 5> = 5.2.0)添加/减去日期  代替DateTime::add()DateTime::sub() (PHP 5> = 5.3.0)

而不是:

$tomorrow = $today->add(new DateInterval('P1D'));

你可以使用:

$tomorrow = $today->modify('+1 day');

答案 1 :(得分:1)

//Create array with all dates within date span
$begin = new DateTime( $start_date );
$end = new DateTime(date("Y-m-d",strtotime("+1 day", strtotime($end_date))));
while($begin < $end) {
    $period[] = $begin->format('Y-m-d');
    $begin->modify('+1 day');
}