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

2 つのオプションがあります。日付を同じようにフォーマットし、文字列として比較することができます。

$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 に答える