【问题标题】:How to compare MySQL datetime and JqueryUI datepicker in PHP?如何在 PHP 中比较 MySQL datetime 和 JqueryUI datepicker?
【发布时间】:2016-04-12 23:20:36
【问题描述】:

我有 SQL 语句,需要比较来自 DB 的日期时间和来自客户端的 JqueryUI datepicker 值。这是我迄今为止尝试过的:

<script>   
    $(function() {
         $( "#calendar" ).datepicker({
             maxDate: "+0m +0w"
         });  

    });
</script>

$date = $_POST['calendar'];
$SQL = "SELECT  $table.item, $table.price, paying_$table.date_bought"
            . " FROM $table"
            . " JOIN paying_$table"
            . " ON $table.id_$table = paying_$table.id_$table"
            . " JOIN users on users.id_user = paying_$table.id_user"
            . " WHERE paying_$table.id_user = '$id' "
            . " AND paying_$table.date_bought BETWEEN  $date AND NOW() ";

$result = $db->query($SQL); //etc etc...

$table 是我从 switch 语句中得到的 var,所以这部分的一切都是正确的。我怀疑是最后两行 SQL。 当我试图转储该 SQL 语句时,NOW() 函数不执行,它只返回字符串 NOW()。

mysql中的日期类型是datetime。 谢谢

【问题讨论】:

  • $date是什么格式?
  • 返回:01/05/2016

标签: php jquery mysql datepicker jquery-ui-datepicker


【解决方案1】:

试试这个方法

$date = date( 'Y-m-d', strtotime($_POST['calendar'] ) );

【讨论】:

    【解决方案2】:

    您可能正在比较不同格式的日期。根据您的评论,您的格式看起来像 m/d/Y,而 MySQL DATETIME 字段是 Y-m-d H:i:s(如果您的字段只是 DATE,则只有 Y-m-d

    您可以使用 php DateTime 本机类轻松地预先格式化您的日期以匹配 mysql 所需的格式:

    $date = DateTime::createFromFormat('m-d-Y', $_POST['calendar'])-&gt;format('Y-m-d')

    另外,在查询中引用 $date 变量:

    . " AND paying_$table.date_bought BETWEEN  '$date' AND NOW() ";
    

    【讨论】:

      【解决方案3】:

      您是否检查过 $date 变量的格式? MySQL DATETIME 默认格式为yyyy-mm-dd hh:mm:ss

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-07
        • 1970-01-01
        • 1970-01-01
        • 2015-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多