Доброго времени суток.
Есть начальная дата 2014-01-16 и допустим есть конечная дата 2014-03-24
Мне надо из этих двух дат т.е. от 2014-01-16 и до 2014-03-24 разбить по месяцам. примерно, то что надо получить
(2014-01-16 | 2014-01-31)
(2014-02-01 | 2014-02-28)
(2014-03-01 | 2011-03-24) .
Заранее благодарен.
1. lashuk - 27 Ноября, 2014 - 11:37:50 - перейти к сообщению
2. Мелкий - 27 Ноября, 2014 - 12:29:31 - перейти к сообщению
В принципе, этим занимается штатный класс DatePeriod http://php.net/manual/en/class.dateperiod.php
Но порой он работает не так, как ожидается, я предпочитаю такие задачи итерировать как-то так:
Но порой он работает не так, как ожидается, я предпочитаю такие задачи итерировать как-то так:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $rFrom = new \datetime('2013-01-29');
- $rTill = new \datetime('2014-03-24');
- for ($rMonth = clone $rFrom; $rMonth <= $rTill; $rMonth->modify('first day of next month')) {
- echo $rMonth->format('Y-m-d'),' - ', $rMonth->format('Y-m-t'),PHP_EOL;
- }