Для календаря, который я делаю, мне понадобилось узнать, сколько недель затрагивает месяц. Решение пришло моментально:
Результат := Неделя_последнего_дня - Неделя_первого_дня;
В коде я оформил это так:
function GetWeekInMonth(ADate: TDate): Integer;
begin
Result := WeekOf(EndOftheMonth(ADate)) - WeekOf(StartOfTheMonth(ADate));
end;
Через полчаса понял, что решение не верное
.