【问题标题】:get mysql records just from today with offset从今天开始用偏移量获取mysql记录
【发布时间】:2010-12-23 05:05:11
【问题描述】:

我正在尝试获取今天的所有记录,但遇到了问题。我不确定如何考虑的另一件事是我的服务器时间比本地时间早两个小时,所以我需要计算出偏移量。我正在设置插入数据的时间,只是不确定在检索时是否需要。

mysql_query("SELECT `* FROM table WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) <= `date` AND `alert_status` ='0'") or die(mysql_error());

我认为问题的一部分是 &lt;= 我尝试使用 === 但都没有成功。

【问题讨论】:

    标签: mysql datetime timezone


    【解决方案1】:

    您遇到的具体问题是什么?当你说它不起作用时,你是什么意思?

    我看到一个语法错误(星号前面的反引号),但我不确定您的问题是什么。 DATE_SUB 的调用对我来说是合理的。

    编辑:试试这样的:

    WHERE `date` BETWEEN DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND CURDATE()
    

    ...这只是一种奇特的方式:

    WHERE `date` >= DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND `date` <= CURDATE()
    

    【讨论】:

    • 我试图只获取今天的日期。目前它正在获取今天和以后的日期。我也担心时区偏移。 (星号只是拉入堆栈的一种类型)
    • 我试图更新我的答案以回应你所说的。您可以更具体地说明什么不起作用-您是否遇到问题,因为 CURDATE() 使用服务器的时间?您插入的日期是否在服务器的时区中调整为正确?如果没有,那么您将不得不做一些像 DATE(DATE_SUB(NOW(), INTERVAL 2 HOURS)) 这样的简单操作来代替 CURDATE() 调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 2020-04-12
    • 1970-01-01
    相关资源
    最近更新 更多