在php mysql中获取与今​​天时间戳匹配的行

时间:2016-09-20 04:38:46

标签: php mysql

我在mysql中有三个文件的表

id
name
time_stamp

此处time_stamp存储了php time()值。

我想获取与今天时间戳匹配的字段,现在我获取所有行并在循环中检查时间戳条件(如果匹配则将打印当前行。)

无论如何在mysql查询中都有这个吗?

4 个答案:

答案 0 :(得分:3)

由于您插入了unix时间戳(time()),因此您无需获取所有行并对提取进行比较。只需在MySQL中使用FROM_UNIXTIME()

SELECT * FROM table_name WHERE FROM_UNIXTIME(`time_stamp`, '%Y-%m-%d') = CURDATE()

Fiddle

答案 1 :(得分:1)

您正在存储UNIX_TIMESTAMP

所以,有一种方法:

SELECT * FROM table_name WHERE FROM_UNIXTIME( time_stamp , '%Y-%m-%d') = CURDATE() @Ghost已经在他的回答中发布了这个

但这种方法的一个潜在问题是您无法在time_stamp列上使用索引(如果有)。

这是另一种方式:

SELECT * FROM 
table_name
WHERE time_stamp BETWEEN UNIX_TIMESTAMP(CURDATE()) AND (UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY) - 1)

答案 2 :(得分:0)

您可以使用NOW()或Currentdate()函数

答案 3 :(得分:0)

例如,您可以在数据库之间进行记录,以获取今天的记录,或者您可以将日期转换为您需要的特定格式。

以人类可读的方式,您可以使用http://www.w3schools.com/sql/func_date_format.asp

如果在date_format之间使用,只选择你需要的东西。

我希望能帮到你