Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql datetime和now datetime对象之间的差异不好_Php_Mysql_Datetime - Fatal编程技术网

Php mysql datetime和now datetime对象之间的差异不好

Php mysql datetime和now datetime对象之间的差异不好,php,mysql,datetime,Php,Mysql,Datetime,我想以秒为单位获取日期之间的时间,以下是我的代码: $rezultat = $polaczenie->query(sprintf("SELECT terminstart FROM uzytkownicy WHERE id=%d", $_SESSION['id'])); $wiersz = $rezultat->fetch_assoc(); $start = DateTime::createFromFormat('Y-m-d H:i:s', $wiersz['terminstart'

我想以秒为单位获取日期之间的时间,以下是我的代码:

$rezultat = $polaczenie->query(sprintf("SELECT terminstart FROM uzytkownicy WHERE id=%d", $_SESSION['id']));
$wiersz = $rezultat->fetch_assoc();

$start = DateTime::createFromFormat('Y-m-d H:i:s', $wiersz['terminstart'])->format('Y-m-d H:i:s');
echo'<script>alert("'.$start.'");</script>';

$teraz = (new \DateTime())->format('Y-m-d H:i:s');
echo'<script>alert("'.$teraz.'");</script>';

$interval = $start->diff($teraz);
echo'<script>alert("'.$interval.'");</script>';
$rezultat=$polaczenie->query(sprintf(“选择terminstart FROM uzytkownicy,其中id=%d”,$_SESSION['id']);
$wiersz=$rezultat->fetch_assoc();
$start=DateTime::createFromFormat($Y-m-dh:i:s',$wiersz['terminstart'])->format('Y-m-dh:i:s');
回显“警报”(“$start.”);
$teraz=(new\DateTime())->格式('Y-m-dh:i:s');
回音“警报(“.$teraz.”;”;
$interval=$start->diff($teraz);
回显“警报”(“$interval.”);

我从警报中看到,$start工作正常,$teraz(现在的意思)工作正常,但我甚至没有收到diff的第三个错误。问题是什么?

$start
$teraz
是字符串,而不是
DateTime
对象,因为您对它们调用了
DateTime::format()
。您只能对
DateTime
对象执行差异

$start = new DateTime($wiersz['terminstart']);
$teraz = new \DateTime();
$interval = $start->diff($teraz);
此外:

  • 不要使用javascript进行调试。那有点疯狂
  • 如果日期已经是可接受的格式(并且Y-m-d H:i:s是可接受的格式),则不需要
    DateTime::createFromFormat()

  • $start
    $teraz
    是字符串,而不是
    DateTime
    对象,因为您对它们调用了
    DateTime::format()
    。您只能对
    DateTime
    对象执行差异

    $start = new DateTime($wiersz['terminstart']);
    $teraz = new \DateTime();
    $interval = $start->diff($teraz);
    
    此外:

  • 不要使用javascript进行调试。那有点疯狂
  • 如果日期已经是可接受的格式(并且Y-m-d H:i:s是可接受的格式),则不需要
    DateTime::createFromFormat()

  • 哦,这让我松了一口气,我正要向你征求意见。你好吗?我做得很好。你那边的情况怎么样?谢谢你的帮助,但我仍然有这个差异的问题。我用实际代码写了一篇新文章。请寻求帮助。请确保
    $wiersz['terminstart']
    有一个值,并且它是您期望的值。我100%确定该变量有该值:“2016-07-28 00:00:00”,并且它在数据库中不是文本,而是“DATATIME”格式。哦,这让人松了一口气,我正要ping您一个注释答案。你好吗?我做得很好。你那边的情况怎么样?谢谢你的帮助,但我仍然有这个差异的问题。我用实际代码写了一篇新文章。请寻求帮助。请确保
    $wiersz['terminstart']
    有一个值,并且它是您期望的值。我100%确保该变量有该值:“2016-07-28 00:00:00”,并且它不是数据库中的文本,而是“DATATIME”格式。