ホームページ  >  記事  >  バックエンド開発  >  PHPで指定された2つの日付の間のすべての日付を検索するには?

PHPで指定された2つの日付の間のすべての日付を検索するには?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 22:38:30739ブラウズ

How to Find All Dates Between Two Specified Dates in PHP?

指定された 2 つの日付間の日付を検索する

PHP プロジェクトで日付と時間間隔を使用している場合の一般的なタスクは次のとおりです。指定された範囲内にある個々の日付を決定します。この問題に対処する方法は次のとおりです。

2010 年 4 月 20 日と 2010 年 4 月 22 日の 2 つの日付を考えます。20、21、22 の形式でそれらの間の日付のリストを取得するには、次の手順に従います。

  1. 文字列日付を UNIX タイムスタンプに変換します:
<code class="php">$start = strtotime('20-4-2010');
$end = strtotime('22-4-2010');</code>
  1. 日付範囲を反復処理します:
<code class="php">for($current = $start; $current <= $end; $current += 86400) {
    echo date('d', $current);
}

ここでは、開始タイムスタンプから終了タイムスタンプまで反復し、反復ごとに 1 日 (86400 秒) ずつ増加します。 date() 関数は、タイムスタンプから日を抽出するために使用されます。

代替方法:

  • 特定の数値を使用する日:

    <code class="php">for($i = 0; $i <= 2; $i++) {
      echo date('d-m-Y', strtotime("20-04-2010 +$i days"));
    }
  • PHP 5.3 の DatePeriod クラスの使用:

    <code class="php">$period = new DatePeriod(
      new DateTime('20-04-2010'),
      DateInterval::createFromDateString('+1 day'),
      new DateTime('23-04-2010') // or pass in just the no. of days: 2
    );
    
    foreach ( $period as $dt ) {
    echo $dt->format( 'd-m-Y' );
    }</code>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。