计算一周中两天之间的日期

时间:2012-04-27 08:12:07

标签: php

我需要一种算法来计算一周中两天之间的日期! 例如,我有

开始日期:23-04-2012和结束日期:27-04-2012

现在我希望收到一个具有这种结构的数组:

$arr = array(
  '23-04-2012',
  '24-04-2012',
  '25-04-2012',
  '26-04-2012', 
  '27-04-2012', 
  '28-04-2012'
);

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用DateTime :: Diff函数(文档here)。

  1. 将您的两个日期传递给该功能。
  2. 获取返回值作为天数。
  3. 添加一个(以便包括开始日期和结束日期)。
  4. 组合for(int i = 0; i <= $days_difference; i++)循环。
  5. 每次
  6. Increment the date by one day并将其添加到数组中。

答案 1 :(得分:0)

$start = '23-04-2012';
$end   = '27-04-2012';

$startTs = strtotime("$start 00:00:00");
$endTs   = strtotime("$end 00:00:00");

$days = array();
$day  = $startTs;

$i = 0;

while ($day <= $endTs) {
    $days[] = date('d-m-Y', $day);
    $i++;
    $day = mktime(0, 0, 0, date('n', $startTs), date('j', $startTs) + $i, date('Y', $startTs));
}

var_dump($days);

答案 2 :(得分:-1)

这可以帮到你。

$startdate=explode("-","23-04-2012");
$enddate=explode("-","27-04-2012");
$i;
$arr=array();
for($i=$startdate[0];$i<=$endate[0];$i++)
{
     $dd=$i.'-'.$startdate[1].'-'.$startdate[2];
     array_push($arr,$dd);
}
print_r($arr);