quarta-feira, 1 de setembro de 2010

Obtendo a data do último dia do mês, ou último dia útil, de uma data informada

Function LastDayOfMonth (Data : TDateTime; lSabDom : Boolean) : TDateTime;
var
    Ano, Mes, Dia : word;
    AuxData : TDateTime;
    DiaDaSemana : Integer;
begin
    AuxData := FirstDayOfMonth (NextMonth (Data), False) - 1;
    if lSabDom Then begin
        DecodeDate (Auxdata, Ano, Mes, Dia);
        DiaDaSemana := DayOfWeek (AuxData);
        if DiaDaSemana = 1 Then
            Dia := Dia - 2
        else
        if DiaDaSemana = 7 Then
            Dec (Dia);
        AuxData := EnCodeDate (Ano, Mes, Dia);
    end;
    LastDayOfMonth := AuxData;
end;

Nenhum comentário:

Postar um comentário