我想查找日期范围之间一天中日期的出现。
例如 date1 = 04/12/2012(星期四)和 date2 = 04/30/2012。
所以 PHP 函数应该返回两个日期:
19/12/2012(开始日期后的第一个星期四)和 26/12/2012(开始日期后的第二个星期四)。
对于较大的日期范围函数应返回第 1、第 2、第 3、第 4....等发生日期。
我想查找日期范围之间一天中日期的出现。
例如 date1 = 04/12/2012(星期四)和 date2 = 04/30/2012。
所以 PHP 函数应该返回两个日期:
19/12/2012(开始日期后的第一个星期四)和 26/12/2012(开始日期后的第二个星期四)。
对于较大的日期范围函数应返回第 1、第 2、第 3、第 4....等发生日期。
评论中列出的副本(获取明年星期一和星期二的所有日期)有一个相当冗长的答案。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
注意:确保您使用正确的日期格式来接收准确的结果。