在尝试添加到DateTime时,在非对象上调用成员函数add()

时间:2015-08-18 01:33:55

标签: php datetime

之前我有一个问题,它得到了回答和解决,但现在我得到了一些不同代码的相同错误,我正在尝试不同的结果。

我正在尝试将1分30秒添加到当前的DateTime标记:

我的代码是:

<?php
ini_set("display_errors", 1); error_reporting(E_ALL); 
date_default_timezone_set('America/Denver');
echo $date = (new DateTime())->format('Y-m-d H:i:s'); //This echos the correct DateTime in SQL format so I can UPDATE and SELECT easily
echo $datestuff = $date->add(new DateInterval("PT1H"))->format('Y-m-d H:i:s'); //This is where the error is when attempting to add 1 hour
?>

问题 -

我如何将1.5分钟添加到$ date并以相同的格式结束?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用此版本的代码,它似乎可以执行您想要的操作:

<?php

ini_set("display_errors", 1); error_reporting(E_ALL); 
date_default_timezone_set('America/Denver');
$date = new DateTime();
$datestuff = $date->add(new DateInterval("PT1H"))->format('Y-m-d H:i:s');
echo $datestuff;

重要说明:

  1. 您通常不想回复赋值语句。相反,最好分配变量,然后根据需要回显它们的值。
  2. 由于您使用的是$ date-&gt; add,因此$ date变量应包含DateTime对象。使用&#34;格式&#34;将该对象转换为字符串,因此您最后要做到这一点。