mySQL将时间戳与当前日期进行比较

时间:2014-02-20 00:37:45

标签: php mysql date

我的表中有一个名为created_at的字段,它是一个时间戳。我正在尝试编写一个查询,其中将给出数据,其中时间戳中的日期是当前日期。

$result = mysql_query("SELECT *FROM visitors WHERE DATE(FROM_UNIXTIME(created_at)) = 
CURDATE()") or die(mysql_error());

我查看了如何从时间戳中获取日期,这就是我使用DATE(FROM_UNIXTIME(created_at))的原因。  我的查询返回时没有找到任何内容,但我的db中的created_at字段是今天的日期。我做错了什么?

1 个答案:

答案 0 :(得分:1)

时间戳数据类型包括秒,因此时间永远不会匹配。您需要在比较之前修剪“created_at”时间戳和当前日期/时间(now())的秒数,这样您才有机会仅匹配日期部分。例如:

select * from visitors where DATE_FORMAT(created_at,'%Y%c%d')=DATE_FORMAT(now(),'%Y%c%d')