我的 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/