php - 获取表中的行数时出现问题,其中日期大于值

标签 php mysql date datetime

我唯一留给我的任务是显示自用户上次访问他的统计信息面板以来的新交易量,我认为我很好地理解了这个概念,但似乎我遇到了一个问题。

这个问题是用户拥有的当前日期和 SQL 使用的当前时间戳不是一个。 (我假设这会因时区而异?)

我想我正在寻找的是 time=zone MySQL 存储 DATETIME(当前时间戳)字段的位置,因此我可以获得用户的当前时间戳、他的时区,并尝试执行逻辑使它们相同。

或者有更简单的方法解决这个问题吗?我目前在我的仪表板中使用 DATETIME 格式来显示有关购买日期的信息,其格式如下表内的 2015-01-12 01:02:18

也许我的查询是错误的,谁知道呢:

function getNewTransactions($connection, $user) {
    $statement = $connection->prepare("SELECT `lastcheck` FROM `login` WHERE 1");
    $statement->execute();
    while($row = $statement->fetch()) {
        $d = $row['lastcheck'];
    }

    $statement = $connection->prepare("SELECT * FROM `transactions` WHERE `date` > :d");
    $statement->bindParam(":d", $d);
    $statement->execute();

    $transactions = 0;
    while($row = $statement->fetch()) {
        $transactions++;
    }

    $date = date("Y-m-d H:i:s");
    $statement = $connection->prepare("UPDATE `login` SET `lastcheck` = '{$date}' WHERE `username`=:name");
    $statement->bindParam(":name", $user);
    $statement->execute();

    return $transactions;
}

如果我将 > 换成 <,它确实会显示较旧的交易,但它们会关闭几个小时。

最佳答案

http://php.net/manual/en/function.date-default-timezone-set.php

这应该可以帮助您设置时区。

关于php - 获取表中的行数时出现问题,其中日期大于值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910070/

相关文章:

php - VSCode/Xdebug PHP 中没有显示变量

php - 如何使用 Cakephp2 制定将数据与 SQL 分离的逻辑?

php - 在 macOS 上更新 XAMPP 的 PHP 版本

php - 将数据从一个 MYSQL 数据库迁移到另一个

PHP、MySQL 和 "sleeping"连接

c# - 将现有日期转换为另一个日期 c#

mysql - 从表中选择多个不同的值并评估它们以匹配表中的值

PHP session 变量不接受重新分配

javascript - 如何将日历开始日期布局从星期日更改为星期一?

c++ - C++ 11中日期字符串的工作日