这个问题已经在这里有了答案:
已关闭8年。
尝试将一秒钟添加到用户输入的日期时间
$ 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()也会出现相同的错误
正确的语法是什么?
最佳答案
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]));
其余的代码应开始工作。