【发布时间】:2019-11-06 01:00:04
【问题描述】:
我使用 php、sql 和 ajax 进行了聊天。所有消息都以日期时间格式存储在数据库中,例如 0000-00-00 00:00:00。问题:每天,从午夜 (00:00:00) 到 00:59:59,消息都存储在数据库中,但在聊天中不可视化。 在一天的其余时间里,它工作得很好。我认为这取决于UTC时区。我的时区是 UTC +1(所以一天不是从 0 到 23,而是从 1 到 0)。
其实我用的是这个PHP代码:
$now = new DateTime(null, new DateTimeZone('Europe/Rome'));
$now = $now->format('Y-m-d H:i:s');
我存储此日期时间的列:
'time' datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
日期始终正确存储。有人可以帮助我吗?
编辑:调用存储的数据我使用这个:
$datetime="SELECT var1, var2, time FROM chat WHERE time >= DATE_SUB(NOW(),INTERVAL 1 HOUR) ORDER BY time ASC";
$datetimeX = $db->prepare($datetime);
$datetimeX->execute();
while($row = $datetimeX->fetch(PDO::FETCH_ASSOC)) {
echo "<span style='color:#f2f2f2;'>" . $row['time'] . " </span>";
//other stuff
}
【问题讨论】:
-
如何从数据库中检索和过滤消息?粘贴一些相关代码
-
@Gasol ...完成!
-
stackoverflow.com/a/10720926 也将 NOW() 转换为欧洲/罗马