Возникла задача вывести все даты, которые находятся к примеру между 2011.04.07 и 2011.08.01. Сходу придумал вот такой вариант:
PHP:
скопировать код в буфер обмена
$date_1 = '2011.04.07';
$date_2 = '2011.08.01';
$date_temp_1 = explode('.',$date_1); $date_temp_2 = explode('.',$date_2);
$date_1 = mktime(0
, 0
, 0
, $date_temp_1[1
], $date_temp_1[2
], $date_temp_1[0
]); $date_2 = mktime(0
, 0
, 0
, $date_temp_2[1
], $date_temp_2[2
], $date_temp_2[0
]);
do {
echo date('Y.m.d',$date_1).'<br/>'; $date_1 += 86400;
} while ($date_1 < $date_2+86399);
Все работает как надо. Возник вопрос, может можно тоже самое сделать как-то более просто и оптимально?