日付範囲間の日付の出現を見つけたいです。
たとえば、date1 = 04/12/2012 (木曜日) および date2 = 04/30/2012 です。
したがって、PHP 関数は 2 つの日付を返す必要があります。
2012 年 12 月 19 日 (開始日の後の第 1 木曜日) および 2012 年 12 月 26 日 (開始日の後の第 2 木曜日)。
日付範囲が大きい場合、関数は 1 番目、2 番目、3 番目、4 番目などを返す必要があります。
日付範囲間の日付の出現を見つけたいです。
たとえば、date1 = 04/12/2012 (木曜日) および date2 = 04/30/2012 です。
したがって、PHP 関数は 2 つの日付を返す必要があります。
2012 年 12 月 19 日 (開始日の後の第 1 木曜日) および 2012 年 12 月 26 日 (開始日の後の第 2 木曜日)。
日付範囲が大きい場合、関数は 1 番目、2 番目、3 番目、4 番目などを返す必要があります。
コメントにリストされている重複(来年の月曜日と火曜日のすべての日付を取得する)には、かなり冗長な回答があります。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
注:正確な結果を得るには、適切な日付形式を使用していることを確認してください。