需要提取今天的数据,但日期是时间戳。我该怎么做呢?

时间:2017-02-11 16:53:04

标签: php mysql

我需要提取今天,月份和年份的数据,但我在表格中的时间是时间戳。

这是我一直在尝试但它不起作用

 $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中找到,但我要么没有正确搜索,要么就不在这里。

1 个答案:

答案 0 :(得分:1)

首先,在查询中使用参数。但是,除此之外,只需使用内置的日期/时间功能:

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')