php - 比较 PHP 和 MYSQL 的日期,strtotime 不起作用

标签 php mysql date datetime mysqli

我的 MySQL 表中有一个 DATE 字段。假设该值为 2015-05-05。 我想检查当前时间是在那之前还是之后。 这是我的代码:

foreach ($row as $row)
{
    $ExpDate = strtotime($row['exp_date']);
    $Today = strtotime(date("Y-m-d"));


    echo $Today . ' - ' . $ExpDate;
    if ($Today > $ExpDate)
    {
        exit('<M>LicenseExpired<M>');
    }
}

问题是它不起作用。没有 strtotime 的 exp 的值为 2015-05-05。如果我添加 strtotime,该值将变为空字符串。

我怎样才能解决这个问题或者在 PHP 中比较日期的好方法是什么?

最佳答案

在 MySQL 中比较日期时,没有理由采取额外的步骤并使用 string_to_time()。下面的例子应该可以正常工作。 MySQL DATE的格式其设计方式使得这种性质的比较可以自然地进行,无需任何额外的步骤。

foreach ($row as $row)
{
    $ExpDate = $row['exp_date'];
    $Today = date("Y-m-d");


    echo $Today . ' - ' . $ExpDate;
    if ($Today > $ExpDate)
    {
        exit('<M>LicenseExpired<M>');
    }
}

关于php - 比较 PHP 和 MYSQL 的日期,strtotime 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882861/

相关文章:

javascript - 仅在 Javascript 中在 IE 11 中传递动态日期时获取 "Invalid Date"

php - 从mysql数据库表中选择 future 日期记录

mysql - 如何在本周添加今天的值(value)?

javascript - 拖放输入文件

php - 从数据库中仅选择字符串的标签部分

php - CakePHP 3.0 数据库修改

php - 以随机顺序获取 Laravel

php - 从数据库值填充数组的最有效方法?

php - 如何在 PHP (MAMP) 中启用错误报告?

php - 如何在 CodeIgniter 中编写给定的查询