|
|
|
| Добрый день.
Делаю парсер по платежной системе. Платежка не отдает данные старше 30 дней, поэтому надо сделать массив по блокам дат и слепить его.
Загвоздка с перебором дат. Помощь нужна.
Есть первая дата: 23.08.2013
Есть последняя дата: сегодня.
Кратность дат: 29 дней.
Нужно сделать блок дат по 29 дней каждый.
На выходе получаем:
Array1 ( [0] => 23.08.2013 [1] => 21.09.2013 )
Array2 ( [0] => 21.09.2013 [1] => 20.10.2013 )
Почему-то цикл получается бесконечным... Конечно, я что-то не учел, поэтому и не работает :). Но вот что...
<?php
// первая дата: 23.08.2013
$startday = "23";
$startmonth = "08";
$startyear = "2013";
// набор дат
for ($i=0; strtotime($dateStar[$i]) <= strtotime(date("d.m.Y")); $i++)
{
$dateStar[$i] = $startday.".".$startmonth.".".$startyear;
$dateEnd[$i] = date("d.m.Y", mktime(0, 0, 0, $startmonth, $startday+29, $startyear));
$dateParse = explode(".", $dateEnd[$i]);
$startday = $dateParse[0];
$startmonth = $dateParse[1];
$startyear = $dateParse[2];
}
// проверка
echo "DATA:<br />";
print_r($dateStar);
echo '<br />';
print_r($dateEnd);
echo '<br />';
|
Спасибо. | |
|
|
|
|
|
|
|
для: lElectroHardl
(28.09.2013 в 14:35)
| | Тут пример вывода временного интервала, нужно только изменить интервал. | |
|
|
|
|
|
|
|
для: confirm
(28.09.2013 в 14:39)
| | Не хочет:
"Class 'DateInterval' not found in ..."
Стоит PHP 5.2.0, OpenServer | |
|
|
|
|
|
|
|
для: lElectroHardl
(28.09.2013 в 15:03)
| | Этот класс доступен начиная с версии РНР 5.3.0.
В OpenServer включены версии и старше, прочтите как подключить другую версию, и все будет ОК. | |
|
|
|
|
|
|
|
для: confirm
(28.09.2013 в 15:38)
| | Спасибо. | |
|
|
|