PHP 日期时间加一秒


PHP datetime add one second

可能的重复项:
PHP 日期时间

尝试向用户输入的日期时间添加一秒$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 是日期时间,字符串在...上线..."同样的错误也随之而来 date_format()

正确的语法是什么?

请改用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.

date()给你一个字符串。 date_modify需要一个日期时间对象。

执行所需操作的最简单方法是将 1 添加到 strtotime() 返回的值中:

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

或者,您可以创建一个日期时间对象:

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

其余代码应该开始工作。