1

日付範囲間の日付の出現を見つけたいです。

たとえば、date1 = 04/12/2012 (木曜日) および date2 = 04/30/2012 です。

したがって、PHP 関数は 2 つの日付を返す必要があります。

2012 年 12 月 19 日 (開始日の後の第 1 木曜日) および 2012 年 12 月 26 日 (開始日の後の第 2 木曜日)。

日付範囲が大きい場合、関数は 1 番目、2 番目、3 番目、4 番目などを返す必要があります。

4

1 に答える 1

3

コメントにリストされている重複(来年の月曜日と火曜日のすべての日付を取得する)には、かなり冗長な回答があります。Relative Formatsstrtotimeを使用した簡潔なソリューションを次に示します。

// Initialize our dates to UNIX timestamps
$startDate = strtotime( 'next Tuesday', strtotime($startDate) );
$endDate= strtotime($endDate);

// Output all Tuesdays prior to our end date
while ($startDate < $endDate) {

    echo date('n/j/Y', $startDate ). "\n";

    // Get next Tuesday relative to last Tuesday
    $startDate = strtotime( 'next Tuesday', $startDate );
}

例として$startDate今日 ( ) と今日から 2 か月( )を使用すると、上記の出力は次のようになります。$endDate

4/17/2012
4/24/2012
5/1/2012
5/8/2012
5/15/2012
5/22/2012
5/29/2012
6/5/2012

実際に見てください。

:正確な結果を得るには、適切な日付形式を使用していることを確認してください。

于 2012-04-12T15:17:26.047 に答える