【问题标题】:php compare current date with dates stored in databasephp将当前日期与存储在数据库中的日期进行比较
【发布时间】:2013-12-04 09:51:20
【问题描述】:

我正在尝试编写一个 php 脚本,我想在其中从数据库表中提取一个日期字段,然后将此日期与今天的日期进行比较。看看有没有数据。与今天的日期相比,来自数据库的数据已过去或未过去。

  1. 我为此功能编写的代码看起来不起作用
  2. 我想我弄错了 date() 格式。
  3. 我不确定 if 语句的逻辑。

php

$sql="SELECT enddate FROM campaigns WHERE id=".$data['camp'];
    $result = mysqli_query($db, $sql);

while($info = mysqli_fetch_assoc($result)){
    if(date("Y-m-d") > $result){
        exit;
        echo "Success";
    }
    elseif(date("Y-m-d") < $result){
        return true;
        echo "Failure";
    }
}

【问题讨论】:

    标签: php


    【解决方案1】:

    使用strtotime()

    while($info = mysqli_fetch_assoc($result)){
        if(strtotime(date("Y-m-d")) > strtotime($result)){
            exit;
            echo "Success";
        }
        elseif(strtotime(date("Y-m-d")) < strtotime($result)){
            return true;
            echo "Failure";
        }
    }
    

    【讨论】:

      【解决方案2】:

      你必须这样做:

      if(date("Y-m-d") > $info['enddate']) {
      

      【讨论】:

        【解决方案3】:

        你可以让 MySQL 自己操心。

        SELECT DATEDIFF(NOW(),enddate) FROM campaigns WHERE id=".$data['camp']
        

        这将返回两个日期之间的天数。 See the manual for DATEDIFF.

        【讨论】:

          【解决方案4】:

          您可以使用以下查询:

          $sql="SELECT (CASE WHEN DATE(NOW()) > enddate THEN 'success' ELSE 'failed' END) AS mystatus FROM campaigns WHERE id=".$data['camp'];
          

          那么您只需要从查询中调用 mystatus 列。

          【讨论】:

            【解决方案5】:

            我花了很多时间只比较日期,我找到了这样的解决方案

            始终设置格式如 date('Y-m-d')

            $dateTo='2016-08-07';
            if(date("Y-m-d", strtotime($dateTo)) > date('Y-m-d')){
               echo 'yes';
            }else{
               echo 'no';
            }
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-11-20
              • 2017-05-15
              • 2019-06-02
              • 1970-01-01
              • 1970-01-01
              • 2014-08-29
              相关资源
              最近更新 更多