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

PHP で指定された 2 つの日付の間のすべての日付を取得するにはどうすればよいですか?

DDD
リリース: 2024-12-31 03:58:10
オリジナル
550 人が閲覧しました

How Can I Retrieve All Dates Between Two Given Dates in PHP?

PHP で指定された 2 つの日付間のすべての日付を取得する

指定された範囲内の日付の順序を決定することは、プログラミングにおける一般的なタスクです。 PHP は、カスタム関数や DatePeriod などの組み込み機能など、これを実現するためのいくつかのアプローチを提供します。

カスタム関数

単純なカスタム関数を作成して、指定された 2 つの入力間の日付の配列:

function getDatesFromRange($startDate, $endDate) {
  $dates = array();
  $currentDate = $startDate;

  while ($currentDate <= $endDate) {
    $dates[] = $currentDate;
    $currentDate = date('Y-m-d', strtotime('+1 day', strtotime($currentDate)));
  }
  return $dates;
}

$dates = getDatesFromRange('2010-10-01', '2010-10-05');
// Output: Array('2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05')
ログイン後にコピー

DatePeriodクラス

PHP の DatePeriod クラスは、より汎用性の高いソリューションを提供します。

$period = new DatePeriod(
  new DateTime('2010-10-01'),
  new DateInterval('P1D'),
  new DateTime('2010-10-05')
);

$dates = array();
foreach ($period as $key => $value) {
  $dates[] = $value->format('Y-m-d');
}

// Output: Array('2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05')
ログイン後にコピー

DatePeriod クラスは、日付間隔を柔軟にカスタマイズでき、生成された日付を簡単に反復できます。

以上がPHP で指定された 2 つの日付の間のすべての日付を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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