比较日期时间提前1小时

时间:2013-07-11 16:58:22

标签: php mysql

我正在尝试用10分钟前的日期时间来计算行数,但是它的当前时间似乎提前1小时因此Imm得到0结果,如果我进入我的表并向前放置一些字段一个小时后我得到了结果。

获得结果:

$stmt = $db->query('SELECT check_log FROM members WHERE check_log >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)');
$row_count = $stmt->rowCount();
echo $row_count.' Members online.';

键入字段的日期时间是2013-07-11 16:54:12而且我没有结果但是如果我手动将日期时间更改为2013-07-11 17:54:12我得到1个结果,使用以下时间输入日期时间:

$date = date("Y-m-d H:i:s");

17:54:12是我当地的时间,16:54:12似乎是我的服务器时间,我的比较试图展望未来还是以当地时间作为参考?

2 个答案:

答案 0 :(得分:2)

PHP和MySQL不同意当前的时区。

将所需的时间作为文字从PHP传递到SQL,而不是使用NOW()

答案 1 :(得分:0)

始终在php的时区存储日期时间。

您可以特别使用的一项功能是strtotime

$now = strtotime("now"); // current timestamp
$hour_later = strtotime("+1 hour"); // hour later
$now = date("Y-m-d H:i:s", $now);
$hour_later = date("Y-m-d H:i:s", $hour_later);