2015-11-08 2 views
0

Я хочу получить все даты между датой начала и датой окончания. Мне нужно показать еженедельные данные, и данные разбиваются на дневные.получить все даты между датой начала и датой окончания в php

У меня есть дата начала 2015-201-02 и дата окончания 2015-11-08. Затем мне нужно распечатать все промежутки между ними в цикле foreach.

Как я могу это сделать?

+1

Как этот дубликат? – nirvair

+0

@phantomphoenix: иногда ответы там для вас, они просто нуждаются в поиске. – TheCarver

ответ

0

Можно использовать строковые манипуляции и базовую математику, но месяцы с различным количеством дней и високосных лет и т. Д. Делают этот бесполезный подход.

Лучше использовать экземпляр PHP DateTime и петли через то, что является question already answered here:

$begin = new DateTime('2010-05-01'); 
$end = new DateTime('2010-05-10'); 

$interval = DateInterval::createFromDateString('1 day'); 
$period = new DatePeriod($begin, $interval, $end); 

foreach ($period as $dt) 
    echo $dt->format("l Y-m-d H:i:s\n"); 

Объект DateTime имеет дополнительное преимущество вывода различных форматов, полезные при генерации имен ссылки, идентификаторы URI, SQL-запросы и т. Д.

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