System.Date2DWY(Date, Integer) Method

Version: Available or changed with runtime version 1.0.

Gets the day of the week, week number, or year of a Date Data Type.


Number :=   System.Date2DWY(Date: Date, Value: Integer)


This method can be invoked without specifying the data type name.


 Type: Date
The input date.

 Type: Integer
Specifies what the function returns. The valid options are 1, 2, and 3.

  • The value 1 corresponds to day of the week (1-7, Monday = 1).
  • The value 2 corresponds to week number (1-53).
  • The value 3 corresponds to year.

Return Value

 Type: Integer
The resulting day of the week, week number, or year.


When the input date to the Date2DWY method is in a week that spans two years, the Date2DWY method computes the output year as the year that has the most days. For example, the input date is 010114. This date is in a week that starts on Monday, December 29, 2013, and ends Sunday, January 4, 2014. The week has three days in 2013 and four days in 2014. So the output year is 2014.


Date2DWY always uses the ISO week-numbering year scheme for the week, regardless of the server or device configuration. This means that week 01 of a year is the week that includes the first Thursday of the Gregorian year. Or in other words, the week that includes 4 January.


This example shows a special case that occurs when you use the Date2DWY method in a week that spans two years.

    InputDate: Date;
    DayOfWeek: Integer;
    WeekNumber: Integer;
    Year: Integer;
    Text000: Label 'The date %1 corresponds to:\\';
    Text001: Label 'The day of the week: %2\\';
    Text002: Label 'The week number: %3\\';
    Text003: Label 'The year: %4';
    InputDate := 20140101D;  
    DayOfWeek := Date2DWY(InputDate, 1);  
    WeekNumber := Date2DWY(InputDate, 2);  
    Year := Date2DWY(InputDate, 3);  
    Message(Text000 + Text001 + Text002 + Text003, InputDate, DayOfWeek, WeekNumber, Year);  

The message window displays the following information:

The date 01/01/14 corresponds to:

The day of the week: 4

The week number: 1

The year: 2014

This example shows that the date 01/01/14 is regarded as day number 4 (Thursday) in week number 1 in the year 2014.

See Also

System Data Type
Get Started with AL
Developing Extensions