CalendarWeekRule CalendarWeekRule CalendarWeekRule CalendarWeekRule Enum

정의

해당 연도의 첫째 주를 확인하기 위한 다양한 규칙을 정의합니다.Defines different rules for determining the first week of the year.

public enum class CalendarWeekRule
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum CalendarWeekRule
type CalendarWeekRule = 
Public Enum CalendarWeekRule
상속
CalendarWeekRuleCalendarWeekRuleCalendarWeekRuleCalendarWeekRule
특성

필드

FirstDay FirstDay FirstDay FirstDay 0

해당 연도의 첫째 주가 해당 연도의 첫 날에 시작해서 다음 주의 첫째 요일 전에 끝나도록 지정합니다.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. 값은 0입니다.The value is 0.

FirstFourDayWeek FirstFourDayWeek FirstFourDayWeek FirstFourDayWeek 2

해당 주의 첫째 요일 전까지 4일 이상이 있는 첫째 주가 해당 연도의 첫째 주가 되도록 지정합니다.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. 값은 2입니다.The value is 2.

FirstFullWeek FirstFullWeek FirstFullWeek FirstFullWeek 1

해당 연도의 첫째 주를 해당 연도의 첫 날이나 다음 날이 있는 주의 첫째 요일에서 시작되도록 지정합니다.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. 값은 1입니다.The value is 1.

설명

멤버는 CalendarWeekRule 열거형에서 반환 되는 DateTimeFormatInfo.CalendarWeekRule 속성 문화권의 현재 달력에서 일정 주 규칙을 결정 하는 데 사용 됩니다.A member of the CalendarWeekRule enumeration is returned by the DateTimeFormatInfo.CalendarWeekRule property and is used by the culture's current calendar to determine the calendar week rule. 열거형 값을 매개 변수로 에서도 Calendar.GetWeekOfYear 메서드.The enumeration value is also used as a parameter to the Calendar.GetWeekOfYear method.

달력의 주 규칙에 따라 달라 집니다 합니다 System.DayOfWeek 에 따라 또한에 첫 번째 요일을 지정 하는 값을 CalendarWeekRule 값입니다.Calendar week rules depend on the System.DayOfWeek value that indicates the first day of the week in addition to depending on a CalendarWeekRule value. 합니다 DateTimeFormatInfo.FirstDayOfWeek 속성은 문화권에서 사용 되지만 모든 기본값을 제공 DayOfWeek 값에 주의 첫째 요일로 지정할 수 있습니다는 Calendar.GetWeekOfYear 메서드.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.

첫 번째 주 FirstDay 값에 따라 1 ~ 7 일을 가질 수 있습니다.The first week based on the FirstDay value can have one to seven days. 값을 기반으로 FirstFullWeek 항상 첫 번째 주 7 일에 있습니다.The first week based on the FirstFullWeek value always has seven days. 첫 번째 주 FirstFourDayWeek 값을 기준으로 4 ~ 7 일을 가질 수 있습니다.The first week based on the FirstFourDayWeek value can have four to seven days.

예를 들어 일반 달력에서 on a 화요일 (1 월 1 일) 연도의 첫날 떨어져서 주의 첫째 요일이 일요일입니다를 가정 합니다.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. FirstFullWeek를 선택 하는 연도의 첫째 주에 시작 되도록 첫 번째 일요일 (1 월 6 일)을 정의 합니다.Selecting FirstFullWeek defines the first Sunday (January 6) as the beginning of the first week of the year. 해당 연도의 첫 번째 5 일에는 이전 연도의 지난주의 일부로 간주 됩니다.The first five days of the year are considered part of the last week of the previous year. 반면, FirstFourDayWeek 선택 (1 월 1 일) 연도의 첫 번째 날 시작으로 정의 연도의 첫 번째 요일 일 보다 더 4 월 1 일부 터 다음 전날에 있기 때문에 일요일입니다.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 FirstDayFirstDay FirstFullWeekFirstFullWeek FirstFourDayWeekFirstFourDayWeek
12 월 31 일 (월)Dec 31 Mon 이전 연도의 지난 주Last week of the previous year 이전 연도의 지난 주Last week of the previous year 이전 연도의 지난 주Last week of the previous year
1 월 1 일 화요일Jan 1 Tue 1 주Week 1 이전 연도의 지난 주Last week of the previous year 1 주Week 1
1 월 2 일 수요일Jan 2 Wed 1 주Week 1 이전 연도의 지난 주Last week of the previous year 1 주Week 1
1 월 3 일 목요일Jan 3 Thu 1 주Week 1 이전 연도의 지난 주Last week of the previous year 1 주Week 1
1 월 4 일 금요일Jan 4 Fri 1 주Week 1 이전 연도의 지난 주Last week of the previous year 1 주Week 1
1 월 5 채도Jan 5 Sat 1 주Week 1 이전 연도의 지난 주Last week of the previous year 1 주Week 1
1 월 6 일 일요일Jan 6 Sun 2 주Week 2 1 주Week 1 2 주Week 2
1 월 7 월Jan 7 Mon 2 주Week 2 1 주Week 1 2 주Week 2
1 월 8 일 화요일Jan 8 Tue 2 주Week 2 1 주Week 1 2 주Week 2
1 월 9 일 수요일Jan 9 Wed 2 주Week 2 1 주Week 1 2 주Week 2
1 월 10 일 목요일Jan 10 Thu 2 주Week 2 1 주Week 1 2 주Week 2
1 월 11 일 금요일Jan 11 Fri 2 주Week 2 1 주Week 1 2 주Week 2
1 월 1 일 12 채도Jan 12 Sat 2 주Week 2 1 주Week 1 2 주Week 2

(1 월 1 일) 연도의 첫 번째 날이 금요일이 해당 주의 첫째 요일이 일요일입니다 만든다고 가정 합니다.Suppose the first day of the year (January 1) falls on a Friday and the designated first day of the week is Sunday. 4 일 미만이 월 1 일부 터 다음 전날에 있기 때문에 첫 번째 일요일 (1 월 3 일) 연도의 첫째 주에 시작 되도록 정의 FirstFourDayWeek 선택 일요일입니다.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 FirstDayFirstDay FirstFullWeekFirstFullWeek FirstFourDayWeekFirstFourDayWeek
12 월 31 일 목요일Dec 31 Thu 이전 연도의 지난 주Last week of the previous year 이전 연도의 지난 주Last week of the previous year 이전 연도의 지난 주Last week of the previous year
1 월 1 일 금요일Jan 1 Fri 1 주Week 1 이전 연도의 지난 주Last week of the previous year 이전 연도의 지난 주Last week of the previous year
1 월 2 채도Jan 2 Sat 1 주Week 1 이전 연도의 지난 주Last week of the previous year 이전 연도의 지난 주Last week of the previous year
1 월 3 일 일요일Jan 3 Sun 2 주Week 2 1 주Week 1 1 주Week 1
1 월 1 일 4 월Jan 4 Mon 2 주Week 2 1 주Week 1 1 주Week 1
1 월 5 일 화요일Jan 5 Tue 2 주Week 2 1 주Week 1 1 주Week 1
1 월 6 일 수요일Jan 6 Wed 2 주Week 2 1 주Week 1 1 주Week 1
1 월 7 일 목요일Jan 7 Thu 2 주Week 2 1 주Week 1 1 주Week 1
1 월 8 일 금요일Jan 8 Fri 2 주Week 2 1 주Week 1 1 주Week 1
1 월 9 일 토요일Jan 9 Sat 2 주Week 2 1 주Week 1 1 주Week 1

다음 예제는 방법을 FirstDaySystem.DayOfWeek 값 확인을 함께 사용 됩니다 주 할당 되는 방법입니다.The following example illustrates how the FirstDay and System.DayOfWeek values are used together to determine how weeks are assigned. 그레고리오력에서 2013에서 (1 월 1 일) 해당 연도의 첫 번째 일 화요일에 대체 됩니다.In the Gregorian calendar, the first day of the year (January 1) in 2013 falls on a Tuesday. 주의 첫째 요일이 일요일 이면 첫 번째 일요일 (1 월 6 일)은 첫 번째 주를 연도의 첫 번째 요일 및 토요일 (1 월 5 일) 이전 연도의 50 세 번째 주에 속합니다.If the designated first day of the week is Sunday, the first Sunday (January 6) is the first day of the first week of the year, and Saturday (January 5) belongs to the fifty-third week of the previous year. 해당 연도의 첫째 주의 시작으로 화요일 (1 월 1 일) 사이의 년 1 월 1 일 화요일 년 1 월 6, 일요일까지 4 일 이상 정의 FirstFourDayWeek 일정 주 규칙 변경 합니다.Changing the calendar week rule to FirstFourDayWeek defines Tuesday (January 1) as the beginning of the first week of the year, because there are more than four days between Tuesday, January 1, and Sunday, January 6. 이 규칙을 사용 하 여, 1 월 5 일 속하는 연도의 첫째 주입니다.Using this rule, January 5 belongs to the first week of the year. 2010의 경우는 1 월 1 일에서 1 년이 금요일이, FirstFourDayWeek 규칙 적용 System.DayOfWeek 첫 번째 요일을 일요일, 1 월 3 일 시작 하므로 해당 연도의 첫 번째 요일 4 일 이상이 있는 2010의 첫 번째 주 Janu 이므로 항 3 ~ 9입니다.For 2010, a year in which January 1 falls on a Friday, applying the FirstFourDayWeek rule with System.DayOfWeek as the first day of the week makes Sunday, January 3 the beginning of the first week of the year, because the first week in 2010 that has more than four days is January 3 through 9.

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
Imports System.Globalization

Module Example
   
   Dim cal As New GregorianCalendar()
   
   Public Sub Main()
      Dim dat As Date = #01/05/2013#
      Dim firstDay As DayOfWeek = DayOfWeek.Sunday
      Dim rule As CalendarWeekRule
      
      rule = CalendarWeekRule.FirstFullWeek
      ShowWeekNumber(dat, rule, firstDay)
      
      rule = CalendarWeekRule.FirstFourDayWeek
      ShowWeekNumber(dat, rule, firstDay)

      Console.WriteLine()
      dat = #1/03/2010#
      ShowWeekNumber(dat, rule, firstDay)
   End Sub
   
   Private Sub ShowWeekNumber(dat As Date, rule As CalendarWeekRule, 
                              firstDay As DayOfWeek)
      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))
   End Sub   
End Module
' 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

참고

이 ISO 8601 정확 하 게 매핑되지 않습니다.This does not map exactly to ISO 8601. 차이점 블로그 항목에서 설명 Microsoft.NET 형식을 ISO 8601 주 of Year합니다.The differences are discussed in the blog entry ISO 8601 Week of Year format in Microsoft .NET. .NET Core 3.0 부터는 ISOWeek.GetYearISOWeek.GetWeekOfYear 이 문제를 해결 합니다.Starting with .NET Core 3.0, ISOWeek.GetYear and ISOWeek.GetWeekOfYear solve this problem.

CultureInfo 개체가 달력의 집합을 지원 합니다.Each CultureInfo object supports a set of calendars. 합니다 Calendar 문화권에 대 한 기본 일정을 반환 하는 속성 및 OptionalCalendars 속성은 문화권에서 지원 되는 모든 달력을 포함 하는 배열을 반환 합니다.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. 사용 하는 달력을 변경 하려면를 CultureInfo, 응용 프로그램 설정 해야 합니다 Calendar 속성을 CultureInfo.DateTimeFormatCalendarWeekRule.FirstFourDayWeek합니다.To change the calendar used by a CultureInfo, the application should set the Calendar property of CultureInfo.DateTimeFormat to a new CalendarWeekRule.FirstFourDayWeek.

적용 대상

추가 정보