function TryEncodeDateWeek(const AYear, AWeekOfYear: Word; out AValue: TDateTime; const ADayOfWeek: Word): Boolean;
extern PACKAGE bool __fastcall TryEncodeDateWeek(const System::Word AYear, const System::Word AWeekOfYear, /* out */ System::TDateTime &AValue, const System::Word ADayOfWeek = (System::Word)(0x1));
Calculates the TDateTime value that represents a specified day of a specified week in a specified year.
TryEncodeDateWeek calculates the TDateTime value for the date specified by the AYear, AWeekOfYear, and ADayOfWeek parameters.
AYear is the year. It can be any value from 1 through 9999 (inclusive).
AWeekOfYear is the week within that year, where 1 is the first week that includes four or more days. Note that, if the first calendar day of the year is a Friday, Saturday, or Sunday, then those three days must be expressed using AYear set to the previous year and AWeekOfYear set to the number of weeks in the previous year. Similarly, if the last calendar day of the year is a Monday, Tuesday, or Wednesday, then those three days are expressed with AYear set to the following year and AWeekOfYear set to 1.
ADayOfWeek is the day of the week, where 1 is Monday, 2 is Tuesday, and so on.
AValue returns the specified date as a TDateTime value. The time portion of AValue is 0 (midnight at the start of the specified day).
TryEncodeDateWeek returns True if AYear, AWeekOfYear, and ADayOfWeek represent a valid date, and False if any of these parameters are not in the valid range.
Note: The definitions for AWeekOfYear and ADayOfWeek follow the ISO 8601 standard.
Tip: To make the ADayOfWeek value more readable, use the day of week constants.