구성원의 CalendarWeekRule 열거형에서 반환 되는 DateTimeFormatInfo.CalendarWeekRule 속성 및 현재 문화권의 달력 달력 주 규칙을 결정 하는 데 사용 됩니다. 열거형 값을 매개 변수로 사용 됩니다에서 Calendar.GetWeekOfYear 메서드.
달력 주 규칙을 따라 달라 집니다를 System.DayOfWeek 시작 요일 이외에 따라 나타내는 값은 CalendarWeekRule 값입니다.
DateTimeFormatInfo.FirstDayOfWeek
속성은 문화권에 대한 기본값을 제공하지만 Calendar.GetWeekOfYear 메서드에 임의의 DayOfWeek 값을 주의 첫째 요일로 지정할 수 있습니다.
FirstDay
값을 기반으로 하는 첫째 주는 1일에서 7일 사이입니다.
FirstFullWeek
값을 기반으로 하는 첫째 주는 항상 7일입니다.
FirstFourDayWeek
값을 기반으로 하는 첫째 주는 4일에서 7일 사이입니다.
예를 들어, 그레고리오력에서 해당 연도의 첫 날(1월 1일)이 화요일이고 이 주의 첫째 요일이 일요일인 경우
FirstFullWeek
를 선택하면 첫째 일요일(1월 6일)이 해당 연도에서 첫째 주의 시작으로 정의됩니다. 따라서 이 연도의 처음 5일은 지난 연도의 마지막 주에 해당합니다. 반면에 FirstFourDayWeek를 선택하면 1월 1일에서 다음 일요일 전날까지 4일 이상이 있으므로 첫 날(1월 1일)이 해당 연도의 첫 주의 시작으로 정의됩니다.
날짜 | FirstDay | FirstFullWeek | FirstFourDayWeek |
|---|
12월 31일 월요일 | 이전 연도의 마지막 주 | 이전 연도의 마지막 주 | 이전 연도의 마지막 주 |
1월 1일 화요일 | 첫 주 | 이전 연도의 마지막 주 | 첫 주 |
1월 2일 수요일 | 첫 주 | 이전 연도의 마지막 주 | 첫 주 |
1월 3일 목요일 | 첫 주 | 이전 연도의 마지막 주 | 첫 주 |
1월 4일 금요일 | 첫 주 | 이전 연도의 마지막 주 | 첫 주 |
1월 5일 토요일 | 첫 주 | 이전 연도의 마지막 주 | 첫 주 |
1월 6일 일요일 | 둘째 주 | 첫 주 | 둘째 주 |
1월 7일 월요일 | 둘째 주 | 첫 주 | 둘째 주 |
1월 8일 화요일 | 둘째 주 | 첫 주 | 둘째 주 |
1월 9일 수요일 | 둘째 주 | 첫 주 | 둘째 주 |
1월 10일 목요일 | 둘째 주 | 첫 주 | 둘째 주 |
1월 11일 금요일 | 둘째 주 | 첫 주 | 둘째 주 |
1월 12일 토요일 | 둘째 주 | 첫 주 | 둘째 주 |
해당 연도의 첫 날(1월 1일)이 금요일이고 주의 첫째 요일이 일요일인 경우,
FirstFourDayWeek
를 선택하면 1월 1일에서 다음 일요일 전날까지 4일 미만이 있으므로 첫째 일요일(1월 3일)이 해당 연도의 첫 주의 시작으로 정의됩니다.
날짜 | FirstDay | FirstFullWeek | FirstFourDayWeek |
|---|
12월 31일 목요일 | 이전 연도의 마지막 주 | 이전 연도의 마지막 주 | 이전 연도의 마지막 주 |
1월 1일 금요일 | 첫 주 | 이전 연도의 마지막 주 | 이전 연도의 마지막 주 |
1월 2일 토요일 | 첫 주 | 이전 연도의 마지막 주 | 이전 연도의 마지막 주 |
1월 3일 일요일 | 둘째 주 | 첫 주 | 첫 주 |
1월 4일 월요일 | 둘째 주 | 첫 주 | 첫 주 |
1월 5일 화요일 | 둘째 주 | 첫 주 | 첫 주 |
1월 6일 수요일 | 둘째 주 | 첫 주 | 첫 주 |
1월 7일 목요일 | 둘째 주 | 첫 주 | 첫 주 |
1월 8일 금요일 | 둘째 주 | 첫 주 | 첫 주 |
1월 9일 토요일 | 둘째 주 | 첫 주 | 첫 주 |
다음 예제에서는 CalendarWeekRule 및 System.DayOfWeek 값 함께 사용 됩니다 확인할 수 주를 할당 하는 방법. 회교식 달력에서 화요일에 2013 년 1 월 (1) 년의 첫째 날에 속합니다. 주의 첫째 요일이 일요일 인 경우 해당 연도의 첫 번째 주 첫날 첫 번째 일요일 (6 월) 이며 전년도의 50 세 주 토요일 (5 월)에 속하는. 달력 주 규칙을 변경 CalendarWeekRule.FirstFourDayWeek 있기 때문에 두 개 이상의 4 일 사이의 1 월 1 일 화요일 1 월 6, 일요일 (1 월 1 일) 화요일 해당 연도의 첫째 주를 시작으로 정의 됩니다. 이 규칙을 사용 하 여 월 5 년의 첫 번째 주에 속합니다. 2010에 대 한 연도에 있는 월 1 금요일에 속하는 적용의 CalendarWeekRule.FirstFourDayWeek 규칙을 DayOfWeek.Sunday 4 일 이상의 첫 번째 주에 2010 년 1 월 3 9-이기 때문에 첫 번째 요일을 1 월 3, 일요일 해당 연도의 첫 번째 주 부분 있습니다.
using System;
using System.Globalization;
public class Example
{
static Calendar cal = new GregorianCalendar();
public static void Main()
{
DateTime date = new DateTime(2013, 1, 5);
DayOfWeek firstDay = DayOfWeek.Sunday;
CalendarWeekRule rule;
rule = CalendarWeekRule.FirstFullWeek;
ShowWeekNumber(date, rule, firstDay);
rule = CalendarWeekRule.FirstFourDayWeek;
ShowWeekNumber(date, rule, firstDay);
Console.WriteLine();
date = new DateTime(2010, 1, 3);
ShowWeekNumber(date, rule, firstDay);
}
private static void ShowWeekNumber(DateTime dat, CalendarWeekRule rule,
DayOfWeek firstDay)
{
Console.WriteLine("{0:d} with {1:F} rule and {2:F} as first day of week: week {3}",
dat, rule, firstDay, cal.GetWeekOfYear(dat, rule, firstDay));
}
}
// The example displays the following output:
// 1/5/2013 with FirstFullWeek rule and Sunday as first day of week: week 53
// 1/5/2013 with FirstFourDayWeek rule and Sunday as first day of week: week 1
//
// 1/3/2010 with FirstFourDayWeek rule and Sunday as first day of week: week 1
각 CultureInfo 개체는 달력 집합을 지원합니다.
Calendar
속성은 문화권의 기본 달력을 반환하고, OptionalCalendars 속성은 문화권에서 지원되는 모든 달력이 포함된 배열을 반환합니다.
CultureInfo
에서 사용되는 달력을 변경하려면 응용 프로그램에서 CultureInfo.DateTimeFormat의 Calendar 속성을 새 Calendar로 설정해야 합니다.