WEEKVw. Informat

Reads a value in the form a week-number within a year and returns a SAS date value using the V algorithm.

Category: Date and Time

Syntax

WEEKVw.

Syntax Description

w

specifies the width of the input field.

Default 11
Range 3–200

Details

The WEEKVw. informat reads the week-number value within a year. If the input does not contain a year expression, WEEKVw. uses the current year as the year expression, which is the default. If the input does not contain a day expression, WEEKVw. uses the first day of the week as the day expression, which is the default.
The V algorithm calculates the SAS date value. The number-of-week value is represented as a decimal number in the range 01–53, with a leading zero and a maximum value of 53. Weeks begin on a Monday, and week 1 of the year is the week that includes January 4 and the first Thursday of the year. If the first Monday of January is 2, 3, or 4, the preceding days are part of the last week of the preceding year. For example, the fifth week of the year would be represented as 06.
The inputs to the WEEKVw. informat are the same date for the following example. The current year is 2012.
Width
Format
Example
3-4
Www
w01
5-6
yyWww
12W01
7-8
yyWwwdd
12W0101
9-10
yyyyWwwdd
2012W0101
11-200
yyyy-Www-dd
2012-W01-01

Comparisons

The WEEKVw. informat reads the week-number value as a decimal number in the range 01–53, with Monday as the first day of the week. Week 1 of the year is the week that includes January 4 and the first Thursday of the year. If the first Monday of January is 2, 3, or 4, the preceding days are part of the last week of the preceding year.
The WEEKUw. informat reads the week-number value as a decimal number in the range 0–53, with Sunday as the first day of the week.
The WEEKWw. informat reads the week-number-of-year value as a decimal number in the range 00–53, with Monday as the first day of week.

Example

The current year is 2012 in the following examples.
Statement
Result
----+----1
v=input('W01',weekv3.);
w=input('03W01',weekv5.);
x=input('03W0101',weekv7.);
y=input('2003W0101',weekv9.);
z=input('2003-W01-01',weekv11.);
put v;
put w;
put x;
put y;
put z;





18994
18994
18994
18994
18994

See Also

Functions:
WEEK Function in SAS Functions and CALL Routines: Reference