查找两个日期之间的日期出现日期


Find occurrence of dates day between two dates

我想查找日期范围之间一天的日期出现次数。

例如 date1 = 04/12/2012 (星期四) 和 date2 = 04/30/2012。

所以 PHP 函数应该返回两个日期:

19/

12/2012 (开始日期后的第一个星期四) 和 26/12/2012 (第二个星期四 在开始日期之后)。

对于大日期范围函数应返回 1st、2nd、3rd、4th....以此类推。

注释中列出的重复项(获取下一年星期一和星期二的所有日期)有一个相当冗长的答案。以下是使用相对格式strtotime的简洁解决方案:

// 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

看到它的实际效果。

注意:请确保您使用正确的日期格式以获得准确的结果。