This topic has not yet been rated - Rate this topic

CalendarWeekRule Enumeration

Defines different rules for determining the first week of the year.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum CalendarWeekRule
Member name Description
Supported by the XNA Framework Supported by Portable Class Library FirstDay Indicates that the first week of the year starts on the first day of the year and ends before the following designated first day of the week. The value is 0.
Supported by the XNA Framework Supported by Portable Class Library FirstFullWeek Indicates that the first week of the year begins on the first occurrence of the designated first day of the week on or after the first day of the year. The value is 1.
Supported by the XNA Framework Supported by Portable Class Library FirstFourDayWeek Indicates that the first week of the year is the first week with four or more days before the designated first day of the week. The value is 2.

Calendar week rules depend on the System.DayOfWeek value that indicates the first day of the week. The DateTimeFormatInfo.FirstDayOfWeek property provides the default value for a culture, but any DayOfWeek value can be specified as the first day of the week in the Calendar.GetWeekOfYear method.

The first week based on the FirstDay value can have one to seven days. The first week based on the FirstFullWeek value always has seven days. The first week based on the FirstFourDayWeek value can have four to seven days.

For example, in the Gregorian calendar, suppose that the first day of the year (January 1) falls on a Tuesday and the designated first day of the week is Sunday. Selecting FirstFullWeek defines the first Sunday (January 6) as the beginning of the first week of the year. The first five days of the year are considered part of the last week of the previous year. In contrast, selecting FirstFourDayWeek defines the first day of the year (January 1) as the beginning of the first week of the year because there are more than four days from January 1 to the day before the following Sunday.

Date

FirstDay

FirstFullWeek

FirstFourDayWeek

Dec 31 Mon

Last week of the previous year

Last week of the previous year

Last week of the previous year

Jan 1 Tue

Week 1

Last week of the previous year

Week 1

Jan 2 Wed

Week 1

Last week of the previous year

Week 1

Jan 3 Thu

Week 1

Last week of the previous year

Week 1

Jan 4 Fri

Week 1

Last week of the previous year

Week 1

Jan 5 Sat

Week 1

Last week of the previous year

Week 1

Jan 6 Sun

Week 2

Week 1

Week 2

Jan 7 Mon

Week 2

Week 1

Week 2

Jan 8 Tue

Week 2

Week 1

Week 2

Jan 9 Wed

Week 2

Week 1

Week 2

Jan 10 Thu

Week 2

Week 1

Week 2

Jan 11 Fri

Week 2

Week 1

Week 2

Jan 12 Sat

Week 2

Week 1

Week 2

Suppose the first day of the year (January 1) falls on a Friday and the designated first day of the week is Sunday. Selecting FirstFourDayWeek defines the first Sunday (January 3) as the beginning of the first week of the year because there are fewer than four days from January 1 to the day before the following Sunday.

Date

FirstDay

FirstFullWeek

FirstFourDayWeek

Dec 31 Thu

Last week of the previous year

Last week of the previous year

Last week of the previous year

Jan 1 Fri

Week 1

Last week of the previous year

Last week of the previous year

Jan 2 Sat

Week 1

Last week of the previous year

Last week of the previous year

Jan 3 Sun

Week 2

Week 1

Week 1

Jan 4 Mon

Week 2

Week 1

Week 1

Jan 5 Tue

Week 2

Week 1

Week 1

Jan 6 Wed

Week 2

Week 1

Week 1

Jan 7 Thu

Week 2

Week 1

Week 1

Jan 8 Fri

Week 2

Week 1

Week 1

Jan 9 Sat

Week 2

Week 1

Week 1

Note Note

This does not map exactly to ISO 8601. The differences are discussed in the blog entry "ISO 8601 Week of Year format in Microsoft .Net" (http://blogs.msdn.com/shawnste/archive/2006/01/24/iso-8601-week-of-year-format-in-microsoft-net.aspx).

Each CultureInfo object supports a set of calendars. The Calendar property returns the default calendar for the culture, and the OptionalCalendars property returns an array containing all the calendars supported by the culture. To change the calendar used by a CultureInfo, the application should set the Calendar property of CultureInfo.DateTimeFormat to a new Calendar.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
FirstFourDayWeek sin't the ISO format
See http://blogs.msdn.com/b/shawnste/archive/2006/01/24/iso-8601-week-of-year-format-in-microsoft-net.aspx  - The first four day week is NOT the same as the ISO standard.