GetFirstMondayOfYear Routines
Returns First Monday of the Year, for a given Year.

Unit
QESBPCSDateTime

Overloaded Variants
Function GetFirstMondayOfYear(const Year: Word): TDateTime;
Function GetFirstMondayOfYear(const Year: Integer): TDateTime;
Function GetFirstMondayOfYear(const DT: TDateTime): TDateTime;

Declaration
Function GetFirstMondayOfYear(const Year: Word): TDateTime;

Description
Used in ISO-8601 Week No Routines.

Parameters
Year 4-digit year such as 1999.
DT Date to take year from.

Category
Date/Time Arithmetic Routines
Week Based Arithmetic Routines
Year Based Arithmetic Routines

Implementation

function GetFirstMondayOfYear (const Year: Word): TDateTime;
var
     StartYear: TDateTime;
begin
     StartYear := GetFirstDayOfYear (Year);
     if ISODayOfWeek (StartYear) = 1 then
          Result := StartYear
     else
          Result := StartOfISOWeek (StartYear) + 7;
End;

Declaration
Function GetFirstMondayOfYear(const Year: Integer): TDateTime;

Implementation

function GetFirstMondayOfYear (const Year: Integer): TDateTime;
var
     StartYear: TDateTime;
begin
     StartYear := GetFirstDayOfYear (Year);
     if ISODayOfWeek (StartYear) = 1 then
          Result := StartYear
     else
          Result := StartOfISOWeek (StartYear) + 7;
End;

Declaration
Function GetFirstMondayOfYear(const DT: TDateTime): TDateTime;

Implementation

function GetFirstMondayOfYear (const DT: TDateTime): TDateTime;
begin
     Result := GetFirstMondayOfYear (Date2Year (DT));
End;


HTML generated by Time2HELP
http://www.time2help.com