2

我正在尝试将当前日期与名为“expiry_date”的 MySQL 查询返回的日期字段进行比较。该字段是一个日期字段,格式与YYYY-MM-DD我使用 If Else 相同,用于初始化变量,结果如下:

$today = $expiry_date = date("d-M-Y", strtotime("now"));
if ($row['expiry_date'] > $today)
{
    $msg="Not Expired";
}
else
{
    $msg="Expired";
}

这似乎不起作用,我将不胜感激有关如何解决此问题的任何建议。

4

3 回答 3

1
$today = $expiry_date = new \Datetime();
$row_expiry_date = date_create_from_format('Y-m-d', $row['expiry_date']);
if ($row_expiry_date > $today)
{
     $msg="Not Expired";
} else {
     $msg="Expired";
}
于 2013-06-14T15:45:55.993 回答
0

你有$today = $expiry_date = 哪个应该是$today =$expiry_date =

$today = date("Y-m-d");

if (strtotime($row['expiry_date']) > $strtotime($today))
{
     echo "not expired";
} else {
    echo "expired";
}
于 2013-06-14T15:57:50.327 回答
0

您有两个选择,您可以将日期格式设置为相同并作为字符串进行比较

$today = $expiry_date = date("Y-m-d", strtotime("now"));
if ($row['expiry_date'] < $today)

或者您可以将行数据转换为 unix 时间戳以进行比较。

$today = $expiry_date = time();
if (strtotime($row['expiry_date']) < $today)
于 2013-06-14T15:40:23.780 回答