選択した週に基づいて、2つの日付の範囲内のすべての日付を取得します

miniMAC

私は例えば、二つの日付を配置する必要があり、範囲の日付を2016年11月1日に2016年10月1日からと生成し、すべての土曜日と日曜日、その範囲内の日付を。

たとえば、次のようになります。

2016-10-1

2016-10-2

2016-10-8

2016-10-9

2016-10-15

2016-10-16

2016-10-22

2016-10-23

2016-10-29

2016-10-30

注:週末だけではありません。たとえば、私は次のような配列を持っています:

array('monday','saturday','sunday')

私はこのコードを試しましたが、これは正しく機能しません:

$event_da = '2016-10-01';
$event_a = '2016-11-01';

$weekdays = array('saturday','sunday');

for ( $i = $event_da; $i <= $event_a; $i = $i + 86400 ) {

    $thisDate = date( 'Y-m-d', $i );

    $getDate = date('l', strtotime($thisDate));

    if ( in_array( $getDate, $weekdays) ) {

          echo $thisDate;

    }
}
オブジェクトマニピュレータ

どうぞ。これは非常に柔軟なコードであり、任意の2つの日付と、フィルタリングする日を指定する別の配列を入力できます。

function isWeekend($start_date, $end_date, $expected_days) {
    $start_timestamp = strtotime($start_date);
    $end_timestamp   = strtotime($end_date);
    $dates = array();
    while ($start_timestamp <= $end_timestamp) {
        if (in_array(date('l', $start_timestamp), $expected_days)) {
           $dates[] = date('Y-m-d', $start_timestamp);
        }
        $start_timestamp = strtotime('+1 day', $start_timestamp);
    }
    return $dates;
  }

 $start_date        =  '2016-10-01';
 $end_date          =  '2016-11-01';
 $expected_days     =  array('Monday','Saturday','Sunday');
 $weekend_dates     =  isWeekend($start_date, $end_date, $expected_days);

出力:

 Array
(
  [0] => 2016-10-01
  [1] => 2016-10-02
  [2] => 2016-10-03
  [3] => 2016-10-08
  [4] => 2016-10-09
  [5] => 2016-10-10
  [6] => 2016-10-15
  [7] => 2016-10-16
  [8] => 2016-10-17
  [9] => 2016-10-22
  [10] => 2016-10-23
  [11] => 2016-10-24
  [12] => 2016-10-29
  [13] => 2016-10-30
  [14] => 2016-10-31
)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

日付の範囲が日付の範囲内にあるすべてを選択します

分類Dev

いずれかの日付範囲にないすべての日付を選択します

分類Dev

週番号と年に基づいて特定の日の日付を取得します

分類Dev

日付範囲にすべての日付を選択して挿入

分類Dev

今日の日付に基づいてIDを選択します

分類Dev

groovy を使用して条件に基づいて特定の範囲の日付を選択する

分類Dev

BootstrapDatepickerを使用して週の日付範囲と月を選択します

分類Dev

vbaタイムラインの日付を範囲として、2つのセル値の日付に基づいてサブ範囲を選択しますExcel2013

分類Dev

1つの日付ピッカーの選択した日付に基づいて複数の日付ピッカーの値を設定します

分類Dev

他の複数の列の特定の範囲内の日付の存在に基づいて列を作成します

分類Dev

Excelの日付範囲に基づいてセルの値を返します

分類Dev

他のテーブルの2つの日付に基づいて値を選択しますか?

分類Dev

Pythonで2つの日付の間の週末を除くすべての日付を取得したい

分類Dev

日付範囲のすべての日付を出力します

分類Dev

Laravel-雄弁なものを使用して日付範囲に基づいてデータを取得します

分類Dev

条件と日付範囲に基づいてすべての値をExcelで一覧表示します

分類Dev

Pythonで、現在の日付に基づいて日付の範囲を表示します

分類Dev

指定された日付に基づいて次の日付を選択しますSQL2008

分類Dev

C#で2つの日付の間の週の範囲を取得します

分類Dev

月に基づく日付の先週の日付範囲を取得する

分類Dev

Java 8のLocalDate.now()に基づいて、週の最初の日の日付を取得します

分類Dev

いくつかの日付範囲に基づいてクエリ選択を最適化する

分類Dev

ある範囲内の場合、日付に基づいて2つのdfをマージし、値を平均します

分類Dev

Rの日付に基づいて行列の行を選択します

分類Dev

Pythonの週番号に基づいてすべての日付を取得する方法

分類Dev

1つの最大日付に基づいてすべての列の個別の結果を取得します

分類Dev

Mysqlクエリは、時間範囲外の指定された日付入力に基づいてレコードを選択します

分類Dev

日付に基づいて日時インデックスを持つDataFrameの行を選択します

分類Dev

SparkScalaの新しい行の2つの日付の間のすべての日付(週)を追加します

Related 関連記事

  1. 1

    日付の範囲が日付の範囲内にあるすべてを選択します

  2. 2

    いずれかの日付範囲にないすべての日付を選択します

  3. 3

    週番号と年に基づいて特定の日の日付を取得します

  4. 4

    日付範囲にすべての日付を選択して挿入

  5. 5

    今日の日付に基づいてIDを選択します

  6. 6

    groovy を使用して条件に基づいて特定の範囲の日付を選択する

  7. 7

    BootstrapDatepickerを使用して週の日付範囲と月を選択します

  8. 8

    vbaタイムラインの日付を範囲として、2つのセル値の日付に基づいてサブ範囲を選択しますExcel2013

  9. 9

    1つの日付ピッカーの選択した日付に基づいて複数の日付ピッカーの値を設定します

  10. 10

    他の複数の列の特定の範囲内の日付の存在に基づいて列を作成します

  11. 11

    Excelの日付範囲に基づいてセルの値を返します

  12. 12

    他のテーブルの2つの日付に基づいて値を選択しますか?

  13. 13

    Pythonで2つの日付の間の週末を除くすべての日付を取得したい

  14. 14

    日付範囲のすべての日付を出力します

  15. 15

    Laravel-雄弁なものを使用して日付範囲に基づいてデータを取得します

  16. 16

    条件と日付範囲に基づいてすべての値をExcelで一覧表示します

  17. 17

    Pythonで、現在の日付に基づいて日付の範囲を表示します

  18. 18

    指定された日付に基づいて次の日付を選択しますSQL2008

  19. 19

    C#で2つの日付の間の週の範囲を取得します

  20. 20

    月に基づく日付の先週の日付範囲を取得する

  21. 21

    Java 8のLocalDate.now()に基づいて、週の最初の日の日付を取得します

  22. 22

    いくつかの日付範囲に基づいてクエリ選択を最適化する

  23. 23

    ある範囲内の場合、日付に基づいて2つのdfをマージし、値を平均します

  24. 24

    Rの日付に基づいて行列の行を選択します

  25. 25

    Pythonの週番号に基づいてすべての日付を取得する方法

  26. 26

    1つの最大日付に基づいてすべての列の個別の結果を取得します

  27. 27

    Mysqlクエリは、時間範囲外の指定された日付入力に基づいてレコードを選択します

  28. 28

    日付に基づいて日時インデックスを持つDataFrameの行を選択します

  29. 29

    SparkScalaの新しい行の2つの日付の間のすべての日付(週)を追加します

ホットタグ

アーカイブ