PHP で指定された 2 つの日付の間の日付の配列を生成する
この PHP コード スニペットは、日付操作の重要なタスクである生成を実行するのに役立ちます。指定された範囲内のすべての日付を含む配列。このコードは、指定された日付範囲を日付の配列に変換することでこれを正常に実現します。
期待される入力
このコードの期待される入力は、形式は「YYYY-MM-DD」です。たとえば、2010 年 10 月 1 日から 2010 年 10 月 5 日までの日付の配列を生成する場合、入力は次のようになります:
getDatesFromRange( '2010-10-01', '2010-10-05' );
Expected Output
期待される出力は、指定された範囲内のすべての日付を含む配列です。上記の例では、出力は次のようになります。
Array( '2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05' )
Solution
このコードは、2 つの方法を使用して、指定された 2 つの日付の間の日付の配列を生成します。
の使用ループ:
DatePeriod クラスの使用:
コードの実装
function getDatesFromRange($startDate, $endDate) { $dates = array(); // Convert the start and end dates to DateTime objects $startDateObj = new DateTime($startDate); $endDateObj = new DateTime($endDate); // Iterate from the start date to the end date, incrementing the day by one each iteration while ($startDateObj <= $endDateObj) { $dates[] = $startDateObj->format('Y-m-d'); $startDateObj->add(new DateInterval('P1D')); } return $dates; }
例使用法
$dates = getDatesFromRange('2010-10-01', '2010-10-05'); print_r($dates);
出力
Array ( [0] => 2010-10-01 [1] => 2010-10-02 [2] => 2010-10-03 [3] => 2010-10-04 [4] => 2010-10-05 )
以上がPHPで指定された2つの日付間の日付の配列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。