ホームページ >バックエンド開発 >PHPチュートリアル >私の PHP コードが日付が他の 2 つの日付の間にあるかどうかを正しくチェックしないのはなぜですか?
PHP - 日付が他の 2 つの日付の間にあるかどうかを確認する
質問:
A Stack Overflow から取得したコード スニペットは、今日の日付が特定の範囲内にあるかどうかを確認するように変更されました。ただし、変更されたコードは意図したとおりに機能しません。
$paymentDate = date('d/m/Y'); $contractDateBegin = date('d/m/Y', '01/01/2001'); $contractDateEnd = date('d/m/Y', '01/01/2015'); if ($paymentDate > $contractDateBegin && $paymentDate < $contractDateEnd) { echo "is between"; } else { echo "NO GO!"; }
回答:
問題を解決するには、strtotime() PHP 関数を使用して変換する必要があります。日付をタイムスタンプ形式に変換します。これにより、日付がタイムスタンプとしての値に基づいて正しく比較されるようになります。
$paymentDate = date('Y-m-d'); $paymentDate = date('Y-m-d', strtotime($paymentDate)); $contractDateBegin = date('Y-m-d', strtotime("01/01/2001")); $contractDateEnd = date('Y-m-d', strtotime("01/01/2012")); if (($paymentDate >= $contractDateBegin) && ($paymentDate <= $contractDateEnd)) { echo "is between"; } else { echo "NO GO!"; }
注:
今日の日付が比較に含まれていることを確認するには、> を使用します。 > の代わりに ;= と <= を使用します。と
以上が私の PHP コードが日付が他の 2 つの日付の間にあるかどうかを正しくチェックしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。