2013-02-15 1 views
0

У меня есть база данных с возможными 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.

ответ

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"); 
} 

ссылки

+1

+1 Действительно это делает его легче. – SparKot

+0

'Неустранимая ошибка: Class 'DateInterval' не найдена в' – Brobina

+1

Какую версию PHP вы используете? Это работает с PHP 5.3 или новее: http://3v4l.org/edH1G –

Смежные вопросы