两个日期范围输入数据库的所有日期

时间:2013-02-15 14:31:53

标签: php mysql date

我有一个数据库,每个条目的输入可能有10个日期。用户将选择开始日期和结束日期,并且我希望将所有日期输入到我的日历页面的数据库中。

$date1 = '2013-01-31';
$date2 = '2013-02-05';

for($one = $date1;$one>$date2;$one = strtotime(date('m/d/Y',$one)." -1 day"))
{
    echo $one;
} 

首先我需要提取所有日期。以上不起作用。需要将日期31/01/02/03/04/05输入到数据库中。

1 个答案:

答案 0 :(得分:3)

DateTime让这更容易:

适用于PHP 5.3+用户

$start    = new DateTime('2013-01-31');
$end      = new DateTime('2013-02-05');
$interval = DateInterval::createFromDateString('1 day');
$period   = new DatePeriod($start, $interval, $end);

foreach ($period as $dt)
{
  echo $dt->format("m/d/Y") . PHP_EOL;
}

对于PHP 5.2用户

$start    = new DateTime('2013-01-31');
$end      = new DateTime('2013-02-05');
while ($start <= $end)
{
    echo $start->format("m/d/Y") . PHP_EOL;
    $start->modify("+1 day");
}

<强>参考