StartOfISOWeekNo Routines
Returns the Start of the Week for the given ISO-8601 WeekNo in the given year.

Unit
QESBPCSDateTime

Overloaded Variants
Function StartOfISOWeekNo(const WeekNo: Integer; const Year: Word): TDateTime;
Function StartOfISOWeekNo(const WeekNo, Year: Integer): TDateTime;

Declaration
Function StartOfISOWeekNo(const WeekNo: Integer; const Year: Word): TDateTime;

Description
Note that the Start of the Week is Monday in ISO-8601.

Parameters
WeekNo Returns the ISO-8601 Week Number in specified Year
Year Returns 4 digit year to which the Week Number applies.

Category
Date/Time Arithmetic Routines
Week Based Arithmetic Routines

Implementation

function StartOfISOWeekNo (const WeekNo: Integer; const Year: Word): TDateTime;
var
     FirstMonday: TDateTime;
begin
     FirstMonday := GetFirstMondayOfYear (Year);
     if Date2Day (FirstMonday) < 5 then
          Result := AddWeeks (FirstMonday, WeekNo - 1)
     else
          Result := AddWeeks (FirstMonday, WeekNo - 2)
End;

Declaration
Function StartOfISOWeekNo(const WeekNo, Year: Integer): TDateTime;

Implementation

function StartOfISOWeekNo (const WeekNo, Year: Integer): TDateTime;
var
     FirstMonday: TDateTime;
begin
     FirstMonday := GetFirstMondayOfYear (Year);
     if Date2Day (FirstMonday) < 5 then
          Result := AddWeeks (FirstMonday, WeekNo - 1)
     else
          Result := AddWeeks (FirstMonday, WeekNo - 2)
End;


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