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);
此外:
DateTime::createFromFormat()
$start
和$teraz
是字符串,而不是DateTime
对象,因为您对它们调用了DateTime::format()
。您只能对DateTime
对象执行差异
$start = new DateTime($wiersz['terminstart']);
$teraz = new \DateTime();
$interval = $start->diff($teraz);
此外:
DateTime::createFromFormat()
哦,这让我松了一口气,我正要向你征求意见。你好吗?我做得很好。你那边的情况怎么样?谢谢你的帮助,但我仍然有这个差异的问题。我用实际代码写了一篇新文章。请寻求帮助。请确保
$wiersz['terminstart']
有一个值,并且它是您期望的值。我100%确定该变量有该值:“2016-07-28 00:00:00”,并且它在数据库中不是文本,而是“DATATIME”格式。哦,这让人松了一口气,我正要ping您一个注释答案。你好吗?我做得很好。你那边的情况怎么样?谢谢你的帮助,但我仍然有这个差异的问题。我用实际代码写了一篇新文章。请寻求帮助。请确保$wiersz['terminstart']
有一个值,并且它是您期望的值。我100%确保该变量有该值:“2016-07-28 00:00:00”,并且它不是数据库中的文本,而是“DATATIME”格式。