Ede*_*ave 1 php mysql datetime
我希望在secounds中的日期之间得到时间,这是我的代码:
$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>';
Run Code Online (Sandbox Code Playgroud)
我从警报中看到,$ start工作正常,$ teraz(现在意味着)工作正常,但我甚至没有得到差异的第3个错误.问题是什么?
$start并且$teraz是字符串,而不是DateTime对象,因为你调用DateTime::format()它们.你只能在DateTime对象上做差异.
$start = new DateTime($wiersz['terminstart']);
$teraz = new \DateTime();
$interval = $start->diff($teraz);
Run Code Online (Sandbox Code Playgroud)
也:
DateTime::createFromFormat()如果您的日期已经是可接受的格式,则不需要(并且Ymd H:i:s是可接受的格式)| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |