DateTime PHP的问题

DateTime PHP的问题,php,mysql,ajax,datetime,Php,Mysql,Ajax,Datetime,我用php、sql和ajax进行了一次聊天。所有消息都以类似0000-00-00:00:00的日期时间格式存储在DB中。问题:每天,从午夜(00:00:00)到00:59:59,消息都存储在数据库中,但在聊天室中不可见。 在一天剩下的时间里,它工作得很好。我认为这取决于UTC时区。我的时区是UTC+1(因此一天不是从0到23,而是从1到0) 实际上,我使用以下PHP代码: $now = new DateTime(null, new DateTimeZone('Europe/Rome')); $n

我用php、sql和ajax进行了一次聊天。所有消息都以类似0000-00-00:00:00的日期时间格式存储在DB中。问题:每天,从午夜(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
}
$datetime=“从聊天中选择var1、var2、time,其中time>=DATE\u SUB(NOW(),INTERVAL 1 HOUR)按时间ASC排序”;
$datetimeX=$db->prepare($datetime);
$datetimeX->execute();
而($row=$datetimeX->fetch(PDO::fetch\U ASSOC)){
回显“$row['time']”;
//其他东西
}
作为php函数
date\u default\u timezone\u set(字符串$timezone\u标识符):bool
是设置所有日期/时间函数使用的默认时区的选项

例如:

<?php
    date_default_timezone_set('Europe/Amsterdam');
?>

提供了参考列表。

有关更多信息,请参阅。

如何从数据库中检索和筛选消息?粘贴一些相关的code@Gasol……好了!立即转换()到欧洲/罗马