通过DateInterval为日期添加持续时间

时间:2012-02-15 13:29:23

标签: php datetime

  

可能重复:
  What date/time functions to use for PHP 5.2

我想在日期中添加持续时间,我设置了这段代码:

$date = new DateTime(Date('r'));
$date = $date->format("d-m-Y H:i:s");                       
$interval = new DateInterval('PT1H2M3S');        
$date = $date->add($interval);        
echo $date;

我收到此错误:Class' DateInterval'找不到

为什么这样,如何在没有DateInterval的情况下修改日期?

2 个答案:

答案 0 :(得分:12)

原因

在PHP 5.3中添加了

DateInterval,如手册页中所述:

  

DateInterval类

     

(PHP 5> = 5.3.0)

PHP版本升级

通过运行phpversion()

,您可以找到正在使用的PHP版本
echo 'Current PHP version: ' . phpversion();

如果您的版本低于5.3,则需要将其升级为使用DateInterval

替代

正如@Gordon所提到的,你可以使用DateTime::modify(),例如:

<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
?>

将一天添加到日期对象中。

答案 1 :(得分:7)

我使用strtotime。也许不是最好的,但肯定是最简单的方法:

echo date("d-m-Y H:i:s",strtotime("2012-02-15 1 hour 2 min 3 sec"));

或者如果您需要从现在开始使用间隔:

echo date("d-m-Y H:i:s",strtotime("1 hour 2 min 3 sec"));