[Overview][Constants][Procedures and functions][Index] | Reference for unit 'DateUtils' (#rtl)

# IsValidDateMonthWeek

Check whether a given year/month/week/day of the week combination is a valid day

## Declaration

Source position: dateutil.inc line 103

`function IsValidDateMonthWeek(`
`const AYear: Word;`
`const AMonth: Word;`
`const AWeekOfMonth: Word;`
`const ADayOfWeek: Word`
`):Boolean;`

## Arguments

`AYear` |  | Year
`AMonth` |  | Month of the year
`AWeekOfMonth` |  | Week of the month.
`ADayOfWeek` |  | Day in the week.

## Function result

True if the given combination is a valid date, False otherwise.

## Description

IsValidDateMonthWeek returns True if AYear, AMonth AWeekOfMonth and ADayOfWeek form a valid date indication, or False otherwise.

AYear must be in the range 1..9999 to be valid.

The AWeekOfMonth,ADayOfWeek values are checked to see whether the combination falls within the valid range of weeks for the AYear,AMonth combination.

## See also

IsValidDate |  | Check whether a set of values is a valid date indication.
IsValidTime |  | Check whether a set of values is a valid time indication.
IsValidDateTime |  | Check whether a set of values is a valid date and time indication.
IsValidDateDay |  | Check whether a given year/day of year combination is a valid date.
IsValidDateWeek |  | Check whether a given year/week/day of the week combination is a valid day.

## Example

    Program Example11;

    { This program demonstrates the IsValidDateMonthWeek function }

    Uses SysUtils,DateUtils;

    Var
      Y,W,D : Word;
      B : Boolean;

    Begin
      For Y:=2000 to 2004 do
        begin
        B:=True;
        For W:=4 to 6 do
          For D:=1 to 7 do
            If B then
              begin
              B:=IsValidDateMonthWeek(Y,12,W,D);
              If Not B then
                if (D=1) then
                  Writeln('December ',Y,' has exactly ',W,' weeks.')
                else
                  Writeln('December ',Y,' has ',W,' weeks and ',D-1,' days.');
              end;
        end;
    End.