【问题标题】:How can extract data that have specific day from database如何从数据库中提取具有特定日期的数据
【发布时间】:2014-02-22 14:59:54
【问题描述】:

我有一个表格,其中包含作为数据的问题。
每个问题都有一个名为creation_date 的行,将问题的创建时间存储为unix timestamp

我想提取所有具有特定日期的问题,我不关心月份或年份。

例如:
我想提取在16 当天创建的所有问题。

我做了什么:

$today = date('d');

$query = mysql_query("SELECT * FROM questions WHERE qcreation_date = '$today' ");
$numRows = mysql_num_rows($query);
if ($numRows > 0) {
    while ($data = mysql_fetch_assoc($query)) {
        echo $data['questionTitle']."<br/>";
    }
} else {
    echo "There is not any data.";
}

$today 是一个包含今天的变量,例如,如果今天是22/2/2004,则$today 变量将包含代表今天的22

【问题讨论】:

    标签: php mysql sql database datetime


    【解决方案1】:

    使用DAY()FROM_UNIXTIME()FROM_UNIXTIME() 会将您的时间戳转换为日期时间戳。 DAY() 会从中获取日期编号,然后您可以进行比较。

    SELECT * FROM questions WHERE DAY(FROM_UNIXTIME(creation_date)) = '$today'
    

    在此查询中减少使用 PHP 变量的另一种方法是使用CURDATE()

    SELECT * FROM questions WHERE DAY(FROM_UNIXTIME(creation_date)) = DAY(CURDATE())
    

    仅供参考,获得今天的更好方法是使用$today = date('d')。使用mktime() 更加复杂。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      • 2021-02-03
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      相关资源
      最近更新 更多