CalendarWeekRule CalendarWeekRule CalendarWeekRule CalendarWeekRule Enum

Definition

Definiert verschiedene Regeln für die Bestimmung der ersten Woche des Jahres.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
Vererbung
CalendarWeekRuleCalendarWeekRuleCalendarWeekRuleCalendarWeekRule
Attribute

Felder

FirstDay FirstDay FirstDay FirstDay 0

Gibt an, dass die erste Woche des Jahres am ersten Tag des Jahres beginnt und vor dem folgenden, als erstem Wochentag bestimmten Tag endet.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. Der Wert ist 0 (null).The value is 0.

FirstFourDayWeek FirstFourDayWeek FirstFourDayWeek FirstFourDayWeek 2

Gibt an, dass die erste Woche des Jahres am ersten Tag des Jahres beginnt und vor dem folgenden, als erstem Wochentag bestimmten Tag endet.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. Der Wert ist 2.The value is 2.

FirstFullWeek FirstFullWeek FirstFullWeek FirstFullWeek 1

Gibt an, dass die erste Woche des Jahres beim ersten Vorkommen des Tages, der als erster Wochentag festgelegt wurde, an oder nach dem ersten Tag des Jahres beginnt.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. Der Wert ist 1.The value is 1.

Hinweise

Ein Mitglied der CalendarWeekRule Enumeration wird zurückgegeben, durch die DateTimeFormatInfo.CalendarWeekRule Eigenschaft und wird vom aktuellen Kalenders der Kultur verwendet, um zu bestimmen, die Kalender-Woche-Regel.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. Der Enumerationswert dient auch als Parameter an die Calendar.GetWeekOfYear Methode.The enumeration value is also used as a parameter to the Calendar.GetWeekOfYear method.

Woche Kalenderregeln richten sich nach der System.DayOfWeek Wert, der den ersten Tag der Woche, je nachdem darüber hinaus angibt eine CalendarWeekRule Wert.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. Die DateTimeFormatInfo.FirstDayOfWeek Eigenschaft stellt den Standardwert für eine Kultur, aber alle DayOfWeek Wert kann angegeben werden, als erster Tag der Woche in den Calendar.GetWeekOfYear Methode.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.

Die erste Woche, die auf Grundlage des Werts ' FirstDay ' haben ein bis sieben Tage.The first week based on the FirstDay value can have one to seven days. Die erste Woche basierend auf dem FirstFullWeek-Wert immer hat sieben Tage.The first week based on the FirstFullWeek value always has seven days. Die erste Woche, die auf Grundlage des Werts FirstFourDayWeek haben vier bis sieben Tage.The first week based on the FirstFourDayWeek value can have four to seven days.

Nehmen wir beispielsweise im gregorianischen Kalender an, dass der erste Tag des Jahres (1. Januar), an einem Dienstag liegt und der angegebene erste Tag der Woche Sonntag ist.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. Auswählen von FirstFullWeek definiert den ersten Sonntag (6. Januar) als Anfang der ersten Woche des Jahres.Selecting FirstFullWeek defines the first Sunday (January 6) as the beginning of the first week of the year. Die ersten fünf Tage des Jahres gelten als Teil der letzten Woche des vorherigen Jahres.The first five days of the year are considered part of the last week of the previous year. FirstFourDayWeek auswählen im Gegensatz dazu definiert den ersten Tag des Jahres (1. Januar) als Anfang der ersten Woche des Jahres fest, da mehr als vier ab dem 1. Januar bis zum Tag vor dem darauf folgenden Tage Sonntag.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.

DatumDate FirstDayFirstDay FirstFullWeekFirstFullWeek FirstFourDayWeekFirstFourDayWeek
Mon am 31. DezemberDec 31 Mon Letzte Woche des vorherigen JahresLast week of the previous year Letzte Woche des vorherigen JahresLast week of the previous year Letzte Woche des vorherigen JahresLast week of the previous year
1. Januar DienstagJan 1 Tue Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Woche 1Week 1
Jan 2 MIJan 2 Wed Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Woche 1Week 1
Jan 3 ThuJan 3 Thu Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Woche 1Week 1
Jan 4 frJan 4 Fri Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Woche 1Week 1
Jan 5 Sätt.:Jan 5 Sat Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Woche 1Week 1
Jan 6 SunJan 6 Sun Woche 2Week 2 Woche 1Week 1 Woche 2Week 2
Jan 7 MonJan 7 Mon Woche 2Week 2 Woche 1Week 1 Woche 2Week 2
Jan 8 DienstagJan 8 Tue Woche 2Week 2 Woche 1Week 1 Woche 2Week 2
9. Januar miJan 9 Wed Woche 2Week 2 Woche 1Week 1 Woche 2Week 2
Jan 10 ThuJan 10 Thu Woche 2Week 2 Woche 1Week 1 Woche 2Week 2
Jan 11 frJan 11 Fri Woche 2Week 2 Woche 1Week 1 Woche 2Week 2
Jan 12 Sätt.:Jan 12 Sat Woche 2Week 2 Woche 1Week 1 Woche 2Week 2

Nehmen Sie an der erste Tag des Jahres (1. Januar) greift auf einen Freitag und der angegebene erste Tag der Woche ist Sonntag.Suppose the first day of the year (January 1) falls on a Friday and the designated first day of the week is Sunday. (3. Januar) ersten Sonntag FirstFourDayWeek auswählen als Anfang der ersten Woche des Jahres definiert werden, da weniger als vier ab dem 1. Januar bis zum Tag vor dem darauf folgenden Tage Sonntag.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.

DatumDate FirstDayFirstDay FirstFullWeekFirstFullWeek FirstFourDayWeekFirstFourDayWeek
31. Dez. doDec 31 Thu Letzte Woche des vorherigen JahresLast week of the previous year Letzte Woche des vorherigen JahresLast week of the previous year Letzte Woche des vorherigen JahresLast week of the previous year
1. Januar frJan 1 Fri Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Letzte Woche des vorherigen JahresLast week of the previous year
Jan 2 Sätt.:Jan 2 Sat Woche 1Week 1 Letzte Woche des vorherigen JahresLast week of the previous year Letzte Woche des vorherigen JahresLast week of the previous year
3 Jan SunJan 3 Sun Woche 2Week 2 Woche 1Week 1 Woche 1Week 1
Jan 4 MonJan 4 Mon Woche 2Week 2 Woche 1Week 1 Woche 1Week 1
Jan 5 DienstagJan 5 Tue Woche 2Week 2 Woche 1Week 1 Woche 1Week 1
Jan 6 miJan 6 Wed Woche 2Week 2 Woche 1Week 1 Woche 1Week 1
Jan 7 DoJan 7 Thu Woche 2Week 2 Woche 1Week 1 Woche 1Week 1
Jan 8 FriJan 8 Fri Woche 2Week 2 Woche 1Week 1 Woche 1Week 1
9. Januar Sätt.:Jan 9 Sat Woche 2Week 2 Woche 1Week 1 Woche 1Week 1

Im folgende Beispiel wird veranschaulicht, wie die FirstDay und System.DayOfWeek Werte werden zusammen verwendet, um zu bestimmen, wie Wochen zugewiesen sind.The following example illustrates how the FirstDay and System.DayOfWeek values are used together to determine how weeks are assigned. Im gregorianischen Kalender fällt der erste Tag des Jahres (1. Januar) 2013 on a Dienstag.In the Gregorian calendar, the first day of the year (January 1) in 2013 falls on a Tuesday. Wenn die angegebene ersten Tag der Woche Sonntag ist, den ersten Sonntag (6. Januar) ist der erste Tag der ersten Woche des Jahres und Samstag (5. Januar) gehört zu der Woche fünfzig Drittel des vorherigen Jahres.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. Dienstag (1. Januar) als Anfang der ersten Woche des Jahres, ändern die Kalender-Woche-Regel in FirstFourDayWeek definiert werden, da mehr als vier Tage zwischen Dienstag, 1. Januar und Sonntag, 6. Januar vorhanden sind.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. Diese Regel verwendet wird, gehört zu der ersten Woche des Jahres 5. Januar.Using this rule, January 5 belongs to the first week of the year. Für 2010 ein Jahres in der 1. Januar fällt, auf einen Freitag, Anwenden der Regel FirstFourDayWeek mit System.DayOfWeek wie der erste Tag der Woche ist Sonntag, 3. Januar den Anfang der ersten Woche des Jahres, da es sich bei die erste Woche im Jahr 2010, die mehr als vier Tage Janu ist äre 3 bis 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

Hinweis

Dies ordnet nicht exakt mit dem ISO 8601.This does not map exactly to ISO 8601. Die Unterschiede werden im Weblogeintrag erörtert ISO 8601-Woche des Jahres-Format im Microsoft .NET.The differences are discussed in the blog entry ISO 8601 Week of Year format in Microsoft .NET. Beginnend mit .NET Core 3.0, ISOWeek.GetYear und ISOWeek.GetWeekOfYear dieses Problem zu lösen.Starting with .NET Core 3.0, ISOWeek.GetYear and ISOWeek.GetWeekOfYear solve this problem.

Jede CultureInfo Objekts unterstützt einen Satz von Kalendern.Each CultureInfo object supports a set of calendars. Die Calendar Eigenschaft gibt den Standardkalender für die Kultur und die OptionalCalendars Eigenschaft gibt ein Array mit allen Kalendern, die von der Kultur unterstützt.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. So ändern Sie den Kalender ein, die eine CultureInfo, sollte die Anwendung festgelegt. die Calendar Eigenschaft CultureInfo.DateTimeFormat in ein neues CalendarWeekRule.FirstFourDayWeek.To change the calendar used by a CultureInfo, the application should set the Calendar property of CultureInfo.DateTimeFormat to a new CalendarWeekRule.FirstFourDayWeek.

Gilt für:

Siehe auch