我需要提取今天、月份和年份的数据,但我在表中的时间位于时间戳中。
这是我一直在尝试的方法,但它不起作用
$today = date('m-j-Y');
$result99 = mysqli_query($res, "SELECT * FROM send_data WHERE sponsor='$login' AND checked='1' AND done='1' AND DATE(m-j-Y, post_time) = '$today' ORDER BY id DESC");
post_time是表中的字段名称。我也尝试过小写日期,但也不起作用。
请帮忙解决这个问题。我试图在 Stack Overflow 中查找,但我要么没有正确搜索,要么它不在这里。
最佳答案
首先,在查询中使用参数。但是,除此之外,只需使用内置的日期/时间函数即可:
SELECT *
FROM send_data
WHERE sponsor='$login' AND checked='1' AND done='1' AND
date(post_time) = curdate()
ORDER BY id DESC;
如果post_time
是Unix时间戳,那么您可以使用from_unixtime()
:
SELECT *
FROM send_data
WHERE sponsor='$login' AND checked='1' AND done='1' AND
date(from_unixtime(post_time)) = curdate()
ORDER BY id DESC;
注意:如果性能是一个问题并且您有适当的索引,则可以采用更好的方法来制定这些查询。
获取年份和月份的最简单方法可能是使用format()
。例如:
format(date(from_unixtime(post_time)), '%Y-%m') = format(curdate(), '%Y-%m')
关于php - 需要提取今天的数据,但日期是时间戳。我该怎么做呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42178549/