MySQL将到期时间戳与当前时间NOW()进行比较

时间:2015-07-09 11:05:43

标签: php mysql datetime timestamp unix-timestamp

我想使用NOW()函数

检查我的失效日期和当前时间

过程: 我正在使用jQuery UI日期时间选择器添加提醒日期时间,它给我这样的时间戳 2015-07-9 14:36 它没有任何秒,但我的created_at包含完整的Unix时间戳。

但是使用下面的命令并没有给我任何结果。用PC日期和时间设置的MySQL日期时间。

MySql代码:

SELECT * FROM `tbl_web_contact_signups` WHERE `expiry` = NOW()

数据库:

+----+-----------------+---------------------+
| ID |      expiry     |     created_at      |
+----+-----------------+---------------------+
|  1 | 2015-07-9 14:36 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+
|  2 | 2015-07-9 14:38 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+
|  3 | 2015-07-9 14:40 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+
|  4 | 2015-07-9 14:50 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+

到期列类型 varchar

PS:我正在创建提醒,并希望查看我今天或现在有多少提醒。

2 个答案:

答案 0 :(得分:1)

now()表示当前日期时间,您是否真的有当前日期时间的条目,请检查..

对于今天的检查报告,请使用此查询:

SELECT * FROM `tbl_web_contact_signups` WHERE date(`expiry`) = CURDATE();

对于今天和当前小时的检查提醒,请使用此查询:

SELECT * FROM `tbl_web_contact_signups` WHERE date(`expiry`) = CURDATE() and hour(`expiry`) = hour(now());

查看今天及当前时间和当前分钟的提醒,请使用此查询:

SELECT * FROM `tbl_web_contact_signups` WHERE date(`expiry`) = CURDATE() and hour(`expiry`) = hour(now()) and Minute(`expiry`)=minute(now());

答案 1 :(得分:0)

试试这个

 SELECT * FROM tbl_web_contact_signups WHERE  expiry = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%m') ;

您必须在过期列中记录查询触发的特定时间(分钟)。

或仅使用

检查今天的记录
SELECT * FROM tbl_web_contact_signups WHERE  DATE(expiry) = CURDATE();