PHP / MYSQL从明天获得记录

时间:2018-06-10 18:34:01

标签: php codeigniter mysqli timestamp strtotime

我有varchar字段包含timestamp值,我想获得明天的记录。

这是我的代码,你可以看到:

$tomorrow = strtotime("1+ day");
SELECT * FROM tasks WHERE task_accomplish_date > $tomorrow

但查询不正确

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

应该是这样的:

$tomorrow = strtotime("+1 day");

/* this will select all record before tomorrow*/
SELECT * FROM tasks WHERE task_accomplish_date < $tomorrow;

/* this will select all record after tomorrow*/
SELECT * FROM tasks WHERE task_accomplish_date > $tomorrow;

http://php.net/manual/en/function.strtotime.php

答案 1 :(得分:0)

SELECT * FROM tasks WHERE task_accomplish_date >  NOW() + INTERVAL 1 DAY

答案 2 :(得分:0)

您应该能够在MySQL查询中完成所有这些操作

SELECT * 
    FROM `tasks` 
    WHERE DATE(`task_accomplish_date`) = DATE(NOW() + INTERVAL 1 DAY)

将您的task_accomplish_date转换为日期值,并查找该日期等于今天+ 1天(明天)的记录。这不会给你从今天或之后的2天,就在明天。如果你想明天和明天以后的所有记录你都会使用

SELECT * 
    FROM `tasks` 
    WHERE DATE(`task_accomplish_date`) >= DATE(NOW() + INTERVAL 1 DAY)

如果要存储时间戳,则这些只关心时间戳的日期部分,而不是时间戳的时间部分。如果您还关心时间部分,则可以从DATE()子句中=的两边删除WHERE