:: MVP ::
|
|
:: RSS ::
|
|
|
Как получить первый день квартала?
function FirstQDay(fqDate: TDateTime): TDateTime;
var
qiYear, qiMonth, qiDay: Word;
begin
if fqDate = 0 then
Result := fqDate
else
begin
DecodeDate(fqDate, qiYear, qiMonth, qiDay);
qiMonth := qiMonth - (qiMonth + 2) mod 3;
Result := EncodeDate(qiYear, qiMonth, 1);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(DateToStr(FirstQDay(Now)));
end;
|
Как получить последний день квартала?
function LastQDay(lqDate: TDateTime): TDateTime;
function FirstMDay(fmDate: TDateTime): TDateTime;
var
fiYear, fiMonth, fiDay: Word;
begin
if fmDate = 0 then
Result := fmDate
else
begin
DecodeDate(fmDate, fiYear, fiMonth, fiDay);
Result := EncodeDate(fiYear, fiMonth, 1);
end;
end;
begin
if lqDate = 0 then
Result := lqDate
else
Result := FirstMDay(FirstQDay(lqDate)+100)-1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(DateToStr(LastQDay(Now)));
end;
|
При использовании материала - ссылка на сайт обязательна
|
|