PHP datetime增加一秒

时间:2012-05-11 19:43:05

标签: php datetime

  

可能重复:
  PHP date time

尝试将一秒添加到用户输入的日期时间 $ values ['start_date _'。$ j .'-'。$ i]是一个有效的日期时间字符串,但以下代码抛出错误

$priceStart = date('Y-m-d H:i:s',strtotime($values['start_date_'.$j.'-'.$i]));
date_modify($priceStart, '+1 second');
$priceStart =date_format($priceStart, 'Y-m-d H:i:s');

错误是“date_modify()期望参数1是DateTime,字符串在......上线...” date_format()

后面会出现同样的错误

这是什么语法?

2 个答案:

答案 0 :(得分:15)

改为使用DateTime对象。对于这个来说,它更加强大和简单。

$priceStart = new DateTime("@" . strtotime($values['start_date_'.$j.'-'.$i]));
$priceStart->modify("+1 second"); //You're pretty much done here!
echo $priceStart->format("Y-m-d H:i:s"); //Just to see the result.

答案 1 :(得分:12)

date()为您提供了一个字符串。 date_modify需要一个DateTime对象。

执行所需操作的最简单方法是在strtotime()返回的值中添加一个:

$priceStart = date('Y-m-d H:i:s',strtotime($values['start_date_'.$j.'-'.$i]) + 1);

或者,您可以创建DateTime对象:

$priceStart = new DateTime('@' . strtotime($values['start_date_'.$j.'-'.$i]));

并且其余代码应该开始工作。