2012-04-12 268 views
1

我想查找日期范围内一天中发生的日期。查找两个日期之间发生的日期日期

例如, date1 = 2012年4月12日(星期四)和date2 = 04/30/2012。

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

19/12/2012(星期四1日开始后日期)和26/12/2012(第2个星期四 开始日期之后)。

对于大日期范围函数应该返回第1,2,3,4 ......等出现日期。

+0

嗨乔希。感谢您的回复。我试图找到两个日期之间的所有中间日期,但不知道如何查找特定日期。 – naresh 2012-04-12 15:04:08

+0

[获取下一年的星期一和星期二的所有日期]的可能的重复(http://stackoverflow.com/questions/2045736/getting-all-dates-for-mondays-and-tuesdays-for-the-next-年) – 2012-04-12 15:09:08

回答

3

评论(Getting all dates for Mondays and Tuesdays for the next year)中列出的副本有一个相当详细的答案。下面是使用strtotimeRelative Formats一个简洁的解决方案:

// 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),从今天($endDate)2个月的例子中,上述输出:

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

See it in action.

注意:确保您使用的是proper date format以接收准确的结果。

+0

感谢您的回复。是的,您的解决方案正常工作。 :) 非常感谢你的帮助。 – naresh 2012-04-12 19:14:34

相关问题