在日期和时间之前过滤数据

时间:2015-04-07 18:58:25

标签: php mysql datetime

我使用PHP和MSQL,我无法正确过滤表格的结果。我想向我展示表格中的所有字段,这些字段保留了我存储的日期和时间仍然有两个小时的条件。

我使用了这个查询,但效果不好,因为如果当前月份是12并且存储在数据库中1没有显示,就好像即使存储的时间甚至是另一天不到2小时:

 putenv('TZ=Europe/Madrid'); 

 $anoE = date("y");
 $mesE =  date("m");
 $diaE =  date("d");

 $horaE = date("H");
 ...

 $consulta = "SELECT tipo,nombre,descripcion,hora,minuto ,lugar,duracion,fecha,horacero,id,ano,dia,mes,equipo FROM ".$tabla." WHERE ".$anoE." <= `ano` AND ".$mesE." <= `mes` AND ".$diaE." <= `dia` AND ".$horaE." <= `(hora+2)` ORDER BY ano,mes,dia,hora,minuto";

我不知道如何编写查询的while条件显示超出当前时间(当天)两小时的字段

1 个答案:

答案 0 :(得分:0)

如果您的字段类型为DATETIME(如果没有,请将其设为),您可以使用简单查询:

SELECT *
FROM table_name
WHERE datetime_field_name BETWEEN DATE_SUB(NOW(), INTERVAL 2 HOUR) AND NOW()

将选择now - 2 hoursnow之间的所有记录。