Шаблоны Joomla 2.5 здесь: http://joomla25.ru/shablony/

Получить дату через заданное количество месяцев

Понадобилась функция - получить дату через заданное количество месяцев. В результате мучений сделал так. Корректно отрабатывает  даты в високосный год.

&НаСервере
Функция ПолучитьДатуЧерезЗаданноеКоличествоМесяцев(НачальнаяДата, КоличествоМесяцев) Экспорт  // Определение количества дней в дате через КоличествоМесяцев
    
    ДеньМесяца = День(НачальнаяДата);  //  Количество дней с начала месяца до начальной даты
    НачальныйМесяц = Месяц(НачальнаяДата);       
    НачальныйГод = Год(НачальнаяДата);
    
    ОбщееКоличествоМесяцев = НачальныйМесяц + КоличествоМесяцев;
    
    Если ОбщееКоличествоМесяцев >= 12 Тогда // переходит на следующий год
        КонечныйМесяц = ?(ОбщееКоличествоМесяцев%12 = 0, ОбщееКоличествоМесяцев, ОбщееКоличествоМесяцев%12);
        КонечныйГод = НачальныйГод +(ОбщееКоличествоМесяцев-КонечныйМесяц)/12;    
        КонечнаяДата = Дата(КонечныйГод, КонечныйМесяц, 1, 0, 0, 0) + ДеньМесяца * 86400 - 86400;  // Первый день тоже учитываем, поэтому отнимем один день
    Иначе  // В пределах одного года
        КонечныйМесяц = НачальныйМесяц + КоличествоМесяцев;  
        КонечныйГод = НачальныйГод;
        КонечнаяДата = Дата(КонечныйГод, ОбщееКоличествоМесяцев, 1 ,0 ,0 ,0) + ДеньМесяца * 86400 - 86400; // Первый день тоже учитываем, поэтому отнимем один день
    КонецЕсли;     
    Возврат КонечнаяДата;
    
КонецФункции