| GetLastDayOfMonth Routines |
Unit
QESBPCSDateTime
| Overloaded Variants |
| Function GetLastDayOfMonth(const DT: TDateTime): TDateTime; |
| Function GetLastDayOfMonth(const Month, Year: Word): TDateTime; |
| Function GetLastDayOfMonth(const Month, Year: Integer): TDateTime; |
Declaration
Function GetLastDayOfMonth(const DT: TDateTime): TDateTime;
Description
Alternatively for a given Month Year.
| Parameters |
| DT | Date/Time to process. |
| Month | Month in given year, 1 = Jan, 12 = Dec. |
| Year | 4-digit Year, such as 1999. |
Category
Date/Time Arithmetic Routines
Month Based Arithmetic RoutinesImplementation
function GetLastDayOfMonth (const DT: TDateTime): TDateTime;
var
D, M, Y: Integer;
begin
OptDecodeDateI (DT, Y, M, D);
case M of
2:
begin
if IsLeapYear (Y) then
D := 29
else
D := 28;
end;
4, 6, 9, 11: D := 30
else
D := 31;
end;
Result := OptEncodeDateI (Y, M, D) + Frac (DT);
End; |
Declaration
Function GetLastDayOfMonth(const Month, Year: Word): TDateTime;Implementation
function GetLastDayOfMonth (const Month, Year: Word): TDateTime;
var
D: Word;
begin
if (Month < 1) or (Month > 12) then
raise EConvertError.Create (rsInvalidMonth);
case Month of
2:
begin
if IsLeapYear (Year) then
D := 29
else
D := 28;
end;
4, 6, 9, 11: D := 30
else
D := 31;
end;
Result := OptEncodeDateW (Year, Month, D);
End; |
Declaration
Function GetLastDayOfMonth(const Month, Year: Integer): TDateTime;Implementation
function GetLastDayOfMonth (const Month, Year: Integer): TDateTime;
var
D: Integer;
begin
if (Month < 1) or (Month > 12) then
raise EConvertError.Create (rsInvalidMonth);
case Month of
2:
begin
if IsLeapYear (Year) then
D := 29
else
D := 28;
end;
4, 6, 9, 11: D := 30
else
D := 31;
end;
Result := OptEncodeDateI (Year, Month, D);
End; |
|
|