想要添加一周的日期

时间:2014-04-24 05:53:48

标签: php date

我将此代码用于add a week日期:

$date1 = "2009-10-11";
$d = new DateTime($date1);
$d->modify( '+1 week' ); 
echo $d->format( 'Y m d' ), "\n";

它运行良好,但想要添加此功能:

$startDate = "2009-10-11";
$endDate = "2010-01-20";

并希望创建一个数组,在这些日期之间保持+1周。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

这是一种方法:

$startDate = "2009-10-11";
$endDate = "2010-01-20";

$dates = array();
$temp = strtotime($startDate);

do {
  $dates[] = date("Y-m-d", $temp);
  $temp = strtotime("+1 week", $temp);
} while ($temp < strtotime($endDate));

print_r($dates);

您可以看到demo here

答案 1 :(得分:0)

日期可以转换为时间戳。时间戳很适合比较,因为它们基本上只是整数。

作为一个快速的解决方案,我要做的是将你的日期转换为时间戳,然后设计一个这样的循环(伪代码):

timestamp = start_timestamp
WHILE timestamp < end_timestamp
    timestamp = timestamp + 1 week
    dates[] = timestamp
END WHILE