固定时间段内的所有日期组合(PHP / Loops)


All date combinations between a fixed period (PHP / Loops)

这听起来像是一个愚蠢的问题,但我正在努力思考如何最好地解决它。

我有两个日期,比如2012-03-15到2012-03-19。我需要提取从所有4天一起工作到4个单独的天的所有组合,输出如下(为简单起见更改格式):

15, 16, 17, 18
15,16, 17
16, 17, 18
15, 16
16, 17
17, 18
15
16
17
18

我正在寻找最好的循环方法,日期范围将在长度上有所不同,格式不相关,但它需要是php日期,我将从中提取所需的确切格式。我将使用每个日期集在每次迭代中执行代码,因此必须是日期/循环。

为您拥有的值创建两个Date对象,编写一个while循环,直到开始变量(您的开始日期)等于结束变量(您的结束日期),您应该完成了

总体思路:

$day = 24 * 60 * 60;
for($startDate = $dateA; $startDate <= $dateB; $startDate += day)
{
  for($endDate = $startDate; $endDate <= $dateB; $endDate += day)
  {
    for($dateIndex = startDate; $dateIndex <= $endDate; $dateIndex += day)
    {
      $output = getDate($dateIndex); 
      echo($output['month'] . $output['day'] . ',');
    }
    echo '</br>';
  }
}