(PHP)指定された日付が他の2つの日付の間にあるかどうかの確認

スクインツ

他の誰かが以前に取り組んだコードに問題があります。
目標は、ディレクトリを反復処理し、特定の日付範囲内にあるすべてのファイルを配列にプッシュすることです(ファイルはmmddyyy.txt形式です)。
コード内の(私自身が行っているのではなく、ひどく名前が付けられている)変数は次のことを表しています。

  • $ aYear-テキストファイルから読み込まれた特定の年。この変数は、ループが繰り返されるたびに変化します。同じことが$ aMonthと$ aDayにも当てはまります。
  • $ sYear1-開始年。$ sMonth1と$ sDay1は、$ sYear1に関して使用されます。
  • $ sYear2-年末。$ sMonth2と$ sDay2は、$ sYear2に関して使用されます。
  • $ isGood-ファイルが配列に追加されます。

    $isGood = false;
            if($aYear >= $sYear1 && $aYear <= $sYear2)
            {
                if($aYear == $sYear1)
                {
                    if($aMonth == $sMonth1)
                    {
                        if($aDay >= $sDay1 && $aDay <= $sDay2)
                        {
                            $isGood = true;
                        }
                    }
                    else
                    {
                        if($aMonth >= $sMonth1 && $aMonth <= $sMonth2)
                        {
                            $isGood = true;
                        }
                    }
                }
                else if($aYear == $sYear2)
                {
                    if($aMonth == $sMonth2)
                    {
                        if($aDay <= $sDay2)
                        {
                            $isGood = true;
                        }
                    }
                    else
                    {
                        if($aMonth <= $sMonth2)
                        {
                            $isGood = true;
                        }
                    }
                }
                else
                {
                    $isGood = true;
                }
            }
    
            if($isGood)
            {
                //echo "Found good article";
                $a = $a . "===" . $file;
                array_push($result, $a);
            }  
    

期待した結果が得られません。このコードを単純化して適切に機能させる方法について、いくつかのヘルプを探しています。このソリューションをPHPで維持する必要があります。

前もって感謝します。

Rwd

@Sandeepが指摘したように、問題は次のとおりです。

if ($aMonth >= $sMonth1 && $aMonth <= $sMonth2)

そして

if ($aDay >= $sDay1 && $aDay <= $sDay2)

日付と終了日も比較する必要がないためです。

そうは言っても、次のようなことを行うことでコードを完全にクリアすることができます。

$date = (new DateTime)->setDate($aYear, $aMonth, $aDay);
$start = (new DateTime)->setDate($sYear1, $sMonth1, $sDay1);
$end = (new DateTime)->setDate($sYear2, $sMonth2, $sDay2);

if ($start <= $date && $date <= $end) {
    //echo "Found good article";
    $a = $a . "===" . $file;
    array_push($result, $a);
}

お役に立てれば!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

今日の日付が他の2つの指定された日付の間にあるか等しいかどうかを確認するC#コード

分類Dev

現在の日付と時刻がFlutterで指定された2つの日付と時刻の間にあるかどうかを確認する方法

分類Dev

指定された時間が日付に関係なく2つの時間の間にあるかどうかを確認します

分類Dev

PHP-日付が2つの日付の間にあるかどうかを確認する方法

分類Dev

2つの日付が許可された期間内にあるかどうかを確認します

分類Dev

Pythonで日付が他の2つの日付の間にあるかどうかを確認するにはどうすればよいですか?

分類Dev

必要な平日がパンダで指定された2つの日付の間にあるかどうかを確認する方法

分類Dev

1つの日付が2つの日付の間にあるかどうかを確認する

分類Dev

ISO文字列の日付が2つの日付の間にあるかどうかを確認します

分類Dev

日付がxsltの2つの日付の間にあるかどうかを確認します

分類Dev

現在の日付が2つの日付の間にあるかどうかを確認しますOracleSQL

分類Dev

日付がc(配列)の2つの日付の間にあるかどうかを確認します

分類Dev

VBAを使用して日付が2つの日付の間にあるかどうかを確認する

分類Dev

日付が2つの日付の間にあるかどうかを確認します

分類Dev

日付が2つの日付の間にあるかどうかを確認します

分類Dev

Laravelは、日付が2つの日付の間にあるかどうかを確認します。

分類Dev

フラッター:日付が2つの日付の間にあるかどうかを確認します

分類Dev

SQL:日付が2つの日付の間にあるかどうかを確認します

分類Dev

SQLServer-指定された日付+時刻が正確な日付+時刻によって2つの日時変数の間にあるかどうかを確認します

分類Dev

指定された日付が2つの日付の間にある場合、行を選択するにはどうすればよいですか?

分類Dev

php-指定された2つの日付から日の値を確認するにはどうすればよいですか?

分類Dev

Java:指定された日付が現在の月内にあるかどうかを確認します

分類Dev

Java:指定された日付が現在の月内にあるかどうかを確認します

分類Dev

日付が他の2つの日付の間か等しいかどうかを確認します

分類Dev

1日(日曜日や月曜日など)がJavaで指定された2日間の間にあるかどうかを確認します

分類Dev

指定された2つの日付の間のパーセンテージを確認するにはどうすればよいですか?

分類Dev

MySQLの別の日付範囲内に指定された日付範囲があるかどうかを確認します

分類Dev

日付が日付の間にあるかどうかmysqlを確認してください

分類Dev

現在の日付文字列が他の2つの日付の範囲内または範囲外であるかどうかを確認します

Related 関連記事

  1. 1

    今日の日付が他の2つの指定された日付の間にあるか等しいかどうかを確認するC#コード

  2. 2

    現在の日付と時刻がFlutterで指定された2つの日付と時刻の間にあるかどうかを確認する方法

  3. 3

    指定された時間が日付に関係なく2つの時間の間にあるかどうかを確認します

  4. 4

    PHP-日付が2つの日付の間にあるかどうかを確認する方法

  5. 5

    2つの日付が許可された期間内にあるかどうかを確認します

  6. 6

    Pythonで日付が他の2つの日付の間にあるかどうかを確認するにはどうすればよいですか?

  7. 7

    必要な平日がパンダで指定された2つの日付の間にあるかどうかを確認する方法

  8. 8

    1つの日付が2つの日付の間にあるかどうかを確認する

  9. 9

    ISO文字列の日付が2つの日付の間にあるかどうかを確認します

  10. 10

    日付がxsltの2つの日付の間にあるかどうかを確認します

  11. 11

    現在の日付が2つの日付の間にあるかどうかを確認しますOracleSQL

  12. 12

    日付がc(配列)の2つの日付の間にあるかどうかを確認します

  13. 13

    VBAを使用して日付が2つの日付の間にあるかどうかを確認する

  14. 14

    日付が2つの日付の間にあるかどうかを確認します

  15. 15

    日付が2つの日付の間にあるかどうかを確認します

  16. 16

    Laravelは、日付が2つの日付の間にあるかどうかを確認します。

  17. 17

    フラッター:日付が2つの日付の間にあるかどうかを確認します

  18. 18

    SQL:日付が2つの日付の間にあるかどうかを確認します

  19. 19

    SQLServer-指定された日付+時刻が正確な日付+時刻によって2つの日時変数の間にあるかどうかを確認します

  20. 20

    指定された日付が2つの日付の間にある場合、行を選択するにはどうすればよいですか?

  21. 21

    php-指定された2つの日付から日の値を確認するにはどうすればよいですか?

  22. 22

    Java:指定された日付が現在の月内にあるかどうかを確認します

  23. 23

    Java:指定された日付が現在の月内にあるかどうかを確認します

  24. 24

    日付が他の2つの日付の間か等しいかどうかを確認します

  25. 25

    1日(日曜日や月曜日など)がJavaで指定された2日間の間にあるかどうかを確認します

  26. 26

    指定された2つの日付の間のパーセンテージを確認するにはどうすればよいですか?

  27. 27

    MySQLの別の日付範囲内に指定された日付範囲があるかどうかを確認します

  28. 28

    日付が日付の間にあるかどうかmysqlを確認してください

  29. 29

    現在の日付文字列が他の2つの日付の範囲内または範囲外であるかどうかを確認します

ホットタグ

アーカイブ