|
Obteniendo las fechas del primer y último día del mes de una fecha dada
Copyright © 2000 Ernesto
De Spirito
FDOM y LDOM
FDOM devuelve la fecha que corresponde al primer día del mismo mes que la fecha
pasada como parámetro, mientras LDOM devuelve la fecha que corresponde al último
día de ese mes (restando 1 de la fecha que corresponde al primer día del siguiente
mes de la fecha dada).
uses SysUtils;
function FDOM(Date: TDateTime): TDateTime;
var
Year, Month, Day: Word;
begin
DecodeDate(Date, Year, Month, Day);
Result := EncodeDate(Year, Month, 1);
end;
function LDOM(Date: TDateTime): TDateTime;
var
Year, Month, Day: Word;
begin
DecodeDate(Date, Year, Month, Day);
// (if Month < 12 then inc(Month)
// else begin Month := 1; inc(Year) end;
// Result := EncodeDate(Year, Month, 1) - 1;
Result := EncodeDate(Year, Month,
MonthDays[IsLeapYear(Year), Month]);
end;
Llamada de ejemplo
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(DateToStr(FDOM(Now)));
ShowMessage(DateToStr(LDOM(Now)));
end;
|