ホームページ > バックエンド開発 > PHPチュートリアル > PHP配列内の2つの日付間のすべての日付を取得するにはどうすればよいですか?

PHP配列内の2つの日付間のすべての日付を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-23 04:02:14
オリジナル
668 人が閲覧しました

How to Get All Dates Between Two Dates in a PHP Array?

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

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