ホームページ > バックエンド開発 > PHPチュートリアル > 私の PHP コードが日付が他の 2 つの日付の間にあるかどうかを正しくチェックしないのはなぜですか?

私の PHP コードが日付が他の 2 つの日付の間にあるかどうかを正しくチェックしないのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-17 17:09:02
オリジナル
506 人が閲覧しました

Why is my PHP code not correctly checking if a date falls between two other dates?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート