Встала задача найти временные периоды с начала по окончанию 6 следующих месяцев. Возможно есть более элегантное решение, но вот мой вариант функции:
</p> <p><?</p> <p>/**<br> * @desc Функция отщитывает 6 вперед месяце начиная с текущего<br> * @return [01] => Array([D_COUNT] => 31, [M_NAME] => Январь, [DATE_FROM] => 01.01.2010, [DATE_TO] => 31.01.2010)<br> */<br> static public function _GetDateM()<br> {<br> $sDate = ConvertTimeStamp(); # теущая дата<br> $_arDateM = array('01' => 'Январь', '02' => 'Февраль', '03' => 'Март', '04' => 'Апрель', '05' => 'Май', '06' => 'Июнь', '07' => 'Июль', '08' => 'Август', '09' => 'Сентябрь', '10' => 'Октябрь', '11' => 'Ноябрь', '12' => 'Декабрь');<br> $stmp = MakeTimeStamp($sDate, "DD.MM.YYYY");</p> <p>$arResult = array();</p> <p>for ($i = 1; $i <= 6; $i++)<br> {<br> $arParam = array();<br> $arAdd&amp;nbsp;&amp;nbsp; = array("DD" => 0, "MM" => 1, "YYYY" => 0);<br> $stmp&amp;nbsp;&amp;nbsp;&amp;nbsp; = AddToTimeStamp($arAdd, $stmp);<br> $_M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = date("m", $stmp);<br> $_YYYY&amp;nbsp;&amp;nbsp; = date("Y", $stmp);<br> $arParam['D_COUNT']&amp;nbsp;&amp;nbsp; = cal_days_in_month(CAL_GREGORIAN, $_M, $_YYYY);<br> $arParam['M_NAME']&amp;nbsp;&amp;nbsp;&amp;nbsp; = $_arDateM[$_M];<br> $arParam['DATE_FROM'] = '01.' . $_M&amp;nbsp; . '.' . $_YYYY;<br> $arParam['DATE_TO']&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; = $arParam['D_COUNT'] . '.' . $_M . '.' . $_YYYY;<br> $arParam['DATE_MY'] = $_M . '.' . $_YYYY;<br> $arResult[$_M] = $arParam;<br> }<br> return $arResult;<br> }</p> <p>?></p> <p>