可能重复:
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()
后面会出现同样的错误这是什么语法?
答案 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]));
并且其余代码应该开始工作。