На 6 месяцев вперед

Встала задача найти временные периоды с начала по окончанию 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;amp;nbsp;&amp;amp;nbsp; = array("DD" => 0, "MM" => 1, "YYYY" => 0);<br>
$stmp&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; = AddToTimeStamp($arAdd, $stmp);<br>
$_M&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; = date("m", $stmp);<br>
$_YYYY&amp;amp;nbsp;&amp;amp;nbsp; = date("Y", $stmp);<br>
$arParam['D_COUNT']&amp;amp;nbsp;&amp;amp;nbsp; = cal_days_in_month(CAL_GREGORIAN, $_M, $_YYYY);<br>
$arParam['M_NAME']&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; = $_arDateM[$_M];<br>
$arParam['DATE_FROM'] = '01.' . $_M&amp;amp;nbsp; . '.' . $_YYYY;<br>
$arParam['DATE_TO']&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;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>