TryEncodeDayOfWeekInMonth
Encode a year, month, week, day of week triplet to a TDateTime value
Declaration
Source position: dateutil.inc line 383
function TryEncodeDayOfWeekInMonth(const AYear: Word;
const AMonth: Word;
const ANthDayOfWeek: Word;
const ADayOfWeek: Word;
out AValue: TDateTime) : Boolean;
Description
EncodeDayOfWeekInMonth encodes AYear, AMonth, ADayOfweek and ANthDayOfweek to a valid date stamp and returns the result in AValue.
ANthDayOfweekis the N-th time that this weekday occurs in the month, e.g. the third Saturday of the month.
The function returns True if the encoding was successful, False if any of the values is not in range.
See also
Name | Description |
---|---|
DecodeDayOfWeekInMonth | Decode a TDateTime value in year, month, day of week parts |
EncodeDateMonthWeek | Encodes a year, month, week of month and day of week to a TDateTime value |
EncodeDayOfWeekInMonth | Encodes a year, month, week, day of week specification to a TDateTime value |
NthDayOfWeek | Calculate which occurrence of weekday in the month a given day represents |
#rtl.sysutils.DayOfWeek | Returns the day of the week. |
Example
Program Example105;
{ This program demonstrates the DecodeDayOfWeekInMonth function }
Uses SysUtils,DateUtils;
Var
Y,M,NDoW,DoW : Word;
D : TDateTime;
Begin
DecodeDayOfWeekInMonth(Date,Y,M,NDoW,DoW);
If TryEncodeDayOfWeekInMonth(Y,M,NDoW,DoW,D) then
begin
Write(DateToStr(D),' is the ',NDow,'-th ');
Writeln(formatdateTime('dddd',D),' of the month.');
end
else
Writeln('Invalid year/month/NthDayOfweek combination');
End.