Содержание
RoundMonth3(X : DateTime) : DateTime
Выровнять на квартал
Функция RoundMonth3 выравнивает дату-время X на квартрал. После её выполнения год остается неизменным, месяцы заменяются:
• Янв, Фев, Март => Янв
• Апр, Май, Июнь => Апр
• Июль, Авг, Сен => Июль
• Окт, Ноя, Дек => Окт
, число месяца изменяется на первое, время изменяется на полночь (0:0:0.0).
Пример:Procedure OnCreate; Var DT : DateTime; Begin DT := EncodeDate(1991, 11, 21, 12, 45, 55, 423); Warning('Исходная ' + ToStr( DT )); // 21-11-1991 12:45:55.423 Warning('День ' + ToStr(RoundDay (DT))); // 21-11-1991 Warning('Неделя ' + ToStr(RoundWeek (DT))); // 18-11-1991 Warning('Месяц ' + ToStr(RoundMonth (DT))); // 1-11-1991 Warning('Квартал ' + ToStr(RoundMonth3(DT))); // 1-10-1991 Warning('Полугодие ' + ToStr(RoundMonth6(DT))); // 1-07-1991 Warning('Год ' + ToStr(RoundYear (DT))); // 1-01-1991 End;Пример SQL:
Select RoundDay(Now()), RoundWeek(Now()), RoundMonth(Now()), RoundMonth3(Now()), RoundMonth6(Now()), RoundYear(Now())
Набор этих функций применяется для расчета отчетов. Например суммы продаж по месяцам:
Select D, Sum(Summa) From Documents Group By RoundMonth(X) As D
Смотри функции RoundDay, RoundWeek, RoundMonth, RoundMonth6, RoundYear.