CalendarWeekRule Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert verschiedene Regeln für die Bestimmung der ersten Woche des Jahres.
public enum class CalendarWeekRule
public enum CalendarWeekRule
[System.Serializable]
public enum CalendarWeekRule
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CalendarWeekRule
type CalendarWeekRule =
[<System.Serializable>]
type CalendarWeekRule =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CalendarWeekRule =
Public Enum CalendarWeekRule
- Vererbung
- Attribute
Felder
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. Der Wert ist "0". |
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. Der Wert ist "2". |
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. Der Wert ist "1". |
Hinweise
Ein Member der CalendarWeekRule Enumeration wird von der DateTimeFormatInfo.CalendarWeekRule -Eigenschaft zurückgegeben und vom aktuellen Kalender der Kultur verwendet, um die Kalenderwochenregel zu bestimmen. Der Enumerationswert wird auch als Parameter für die Calendar.GetWeekOfYear -Methode verwendet.
Kalenderwochenregeln hängen System.DayOfWeek vom Wert ab, der den ersten Wochentag angibt, und hängt von einem CalendarWeekRule Wert ab. Die DateTimeFormatInfo.FirstDayOfWeek -Eigenschaft stellt den Standardwert für eine Kultur bereit, aber jeder DayOfWeek Wert kann als erster Wochentag in der Calendar.GetWeekOfYear -Methode angegeben werden.
Die erste Woche, die auf dem FirstDay
Wert basiert, kann ein bis sieben Tage dauern. Die erste Woche, die auf dem FirstFullWeek
Wert basiert, hat immer sieben Tage. Die erste Woche, die auf dem FirstFourDayWeek
Wert basiert, kann vier bis sieben Tage dauern.
Nehmen Sie beispielsweise im gregorianischen Kalender an, dass der erste Tag des Jahres (1. Januar) auf einen Dienstag fällt und der angegebene erste Tag der Woche der Sonntag ist. Die Auswahl FirstFullWeek
definiert den ersten Sonntag (6. Januar) als Beginn der ersten Woche des Jahres. Die ersten fünf Tage des Jahres werden als Teil der letzten Woche des Vorjahres betrachtet. Im Gegensatz dazu definiert die Auswahl FirstFourDayWeek
den ersten Tag des Jahres (1. Januar) als Beginn der ersten Woche des Jahres, da es mehr als vier Tage vom 1. Januar bis zum Tag vor dem folgenden Sonntag gibt.
Datum | FirstDay | FirstFullWeek | FirstFourDayWeek |
---|---|---|---|
Dez 31 Mo | Letzte Woche des Vorjahres | Letzte Woche des Vorjahres | Letzte Woche des Vorjahres |
1. Januar Di | Woche 1 | Letzte Woche des Vorjahres | Woche 1 |
2. Januar Mid | Woche 1 | Letzte Woche des Vorjahres | Woche 1 |
3. Januar Do | Woche 1 | Letzte Woche des Vorjahres | Woche 1 |
4. Januar Fr | Woche 1 | Letzte Woche des Vorjahres | Woche 1 |
5. Januar Sa | Woche 1 | Letzte Woche des Vorjahres | Woche 1 |
6. Januar So | Woche 2 | Woche 1 | Woche 2 |
7. Januar Mo | Woche 2 | Woche 1 | Woche 2 |
8. Januar Di | Woche 2 | Woche 1 | Woche 2 |
9. Januar Mid | Woche 2 | Woche 1 | Woche 2 |
10. Januar Do | Woche 2 | Woche 1 | Woche 2 |
11. Januar Fr | Woche 2 | Woche 1 | Woche 2 |
12. Januar Sa | Woche 2 | Woche 1 | Woche 2 |
Angenommen, der erste Tag des Jahres (1. Januar) fällt auf einen Freitag und der angegebene erste Tag der Woche ist Sonntag. Die Auswahl FirstFourDayWeek
definiert den ersten Sonntag (3. Januar) als Beginn der ersten Woche des Jahres, da es weniger als vier Tage vom 1. Januar bis zum Tag vor dem folgenden Sonntag gibt.
Datum | FirstDay | FirstFullWeek | FirstFourDayWeek |
---|---|---|---|
Dez 31 Do | Letzte Woche des Vorjahres | Letzte Woche des Vorjahres | Letzte Woche des Vorjahres |
1. Januar Fr | Woche 1 | Letzte Woche des Vorjahres | Letzte Woche des Vorjahres |
2. Januar Sa | Woche 1 | Letzte Woche des Vorjahres | Letzte Woche des Vorjahres |
3. Januar So | Woche 2 | Woche 1 | Woche 1 |
4. Januar Mo | Woche 2 | Woche 1 | Woche 1 |
5. Januar Di | Woche 2 | Woche 1 | Woche 1 |
6. Januar Mi | Woche 2 | Woche 1 | Woche 1 |
7. Januar Do | Woche 2 | Woche 1 | Woche 1 |
8. Januar Fr | Woche 2 | Woche 1 | Woche 1 |
9. Januar Sa | Woche 2 | Woche 1 | Woche 1 |
Das folgende Beispiel veranschaulicht, wie die CalendarWeekRule Werte und DayOfWeek zusammen verwendet werden, um zu bestimmen, wie Wochen zugewiesen werden. Im gregorianischen Kalender fällt der erste Tag des Jahres (1. Januar) im Jahr 2013 auf einen Dienstag. Wenn der angegebene erste Wochentag der Sonntag ist, ist der erste Sonntag (6. Januar) der erste Tag der ersten Woche des Jahres, und Samstag (5. Januar) gehört zur dreiundfünfzigten Woche des Vorjahres. Wenn Sie die Kalenderwochenregel ändern, wird FirstFourDayWeek
Dienstag (1. Januar) als Beginn der ersten Woche des Jahres definiert, da zwischen Dienstag, 1. Januar und Sonntag, 6. Januar, mehr als vier Tage liegen. Mit dieser Regel gehört der 5. Januar zur ersten Woche des Jahres. Für 2010, ein Jahr, in dem der 1. Januar auf einen Freitag fällt, ist die Anwendung der FirstFourDayWeek
Regel mit DayOfWeek.Sunday als erster Wochentag sonntags, 3. Januar der Beginn der ersten Woche des Jahres, da die erste Woche im Jahr 2010, die mehr als vier Tage hat, ist der 3. bis 9. Januar.
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 entspricht nicht genau iso 8601. Die Unterschiede werden im Blogeintrag ISO 8601 Week of Year Format in Microsoft .NET erläutert. Beginnen Sie mit .NET Core 3.0, ISOWeek.GetYear und ISOWeek.GetWeekOfYear lösen Sie dieses Problem.
Jedes CultureInfo Objekt unterstützt eine Reihe von Kalendern. Die Calendar -Eigenschaft gibt den Standardkalender für die Kultur zurück, und die OptionalCalendars -Eigenschaft gibt ein Array zurück, das alle von der Kultur unterstützten Kalender enthält. Um den von einem CultureInfoverwendeten Kalender zu ändern, legen Sie die Calendar -Eigenschaft von CultureInfo.DateTimeFormat auf einen neuen Calendarfest.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für