Функции для работы с датами как в языке запросов
Автор: ildarovich
Функция ДобавитьКДате(Дата1, Количество, Период) Экспорт
Шаг = Новый Структура("Год, Квартал, Месяц, Неделя, День, Час, Минута, Секунда", 12, 3, 1, -604800, -86400, -3600, -60, -1);
Возврат ?(Шаг[Период] > 0, ДобавитьМесяц(Дата1, Количество * Шаг[Период]), Дата1 - Количество * Шаг[Период])
КонецФункции
Функция РазностьДат(Дата1, Дата2, Период) Экспорт
Шаг = Новый Структура("Год, Квартал, Месяц, Неделя, День, Час, Минута, Секунда", 12, 3, 1, -604800, -86400, -3600, -60, -1);
Возврат Цел(?(Шаг[Период] > 0, Год(Дата2) * 12 + Месяц(Дата2) - 1, '00010101' - Дата2) / Шаг[Период])
- Цел(?(Шаг[Период] > 0, Год(Дата1) * 12 + Месяц(Дата1) - 1, '00010101' - Дата1) / Шаг[Период])
КонецФункции
//Функция Квартал
Функция Квартал(Дата) Экспорт
Возврат Цел((Месяц(Дата) - 1) / 3) + 1
КонецФункции
//Названия месяцев прописью
Формат(Дата(1, НомерМесяца, 1),"ДФ=ММММ")
//Название дней недели прописью
Формат(Дата(1, 1, 2 + НомерДняНедели),"ДФ=дддд")
Орфографическая ошибка в дддд: дддд