关于这个问题有很多重复,但他们没有用。
这就是问题所在,我有两个不同的时间和相同的日期,它们转换为存储在我的数据库中的时间戳。
Timestamp 1 = 1376983800 (2013-08-20 15:30:00)
Timestamp 2 = 1376987400 (2013-08-20 16:30:00)
我有这两个值需要与 date 进行比较,忽略它们的时间。
视觉呈现
假设它应该是 2013-08-20 = 2013-08-20
不是
2013-08-20 15:30:00 = 2013-08-20 16:30:00
现在,问题是如何使用查询来做到这一点?
不过,下面这些 WHERE 子句查询对我不起作用。
WHERE DAYOFMONTH(FROM_UNIXTIME(1376983800)) = DAYOFMONTH(FROM_UNIXTIME(1376987400))
WHERE DAY(FROM_UNIXTIME(1376983800)) = DAY(FROM_UNIXTIME(1376987400))
WHERE DAYOFYEAR(FROM_UNIXTIME(1376983800)) = DAYOFYEAR(FROM_UNIXTIME(1376987400))
将不胜感激。
最佳答案
SELECT columns
FROM table
WHERE DATE(FROM_UNIXTIME(stamp1)) = DATE(FROM_UNIXTIME(stamp2))
此外,上面所有的 WHERE
子句都等同于 WHERE TRUE
并将返回所有列。
此外,要测试您的 WHERE
实际上在看什么,请尝试执行以下操作:
SELECT DAYOFMONTH(FROM_UNIXTIME(1376983800)), DAYOFMONTH(FROM_UNIXTIME(1376987400));
或
SELECT DATE(FROM_UNIXTIME(1376983800)), DATE(FROM_UNIXTIME(1376987400))
关于php - 将 Unix 时间戳与日期进行比较,忽略时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390421/