PHP: 配列内の 2 つの日付間のすべての日付を返す
2 つの日付が与えられた場合、一般的なタスクはその範囲内のすべての日付を取得することです。これは、PHP のさまざまなアプローチを通じて実現できます。
方法 1: ループを使用する
最も簡単な解決策は、ループを使用して、指定された範囲内で毎日を反復処理することです。 。以下に例を示します。
<?php function getDatesFromRange($start_date, $end_date) { $dates = array(); $start = new DateTime($start_date); $end = new DateTime($end_date); $end->add(new DateInterval('P1D')); $temp = $start; while ($temp <= $end) { $dates[] = $temp->format('Y-m-d'); $temp->add(new DateInterval('P1D')); } return $dates; }
方法 2: DatePeriod クラスを使用する
PHP では、日付範囲を処理するための DatePeriod クラスも提供しています。使用方法は次のとおりです。
<?php function getDatesFromRange($start_date, $end_date) { $period = new DatePeriod( new DateTime($start_date), new DateInterval('P1D'), new DateTime($end_date) ); $dates = array(); foreach ($period as $date) { $dates[] = $date->format('Y-m-d'); } return $dates; }
Output
どちらのメソッドも、予想される出力に示すように、指定された範囲内の日付の配列を返します。
Array( '2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05' )
以上がPHP配列内の2つの日付間のすべての日付を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。