Bestimmen des Datums eines bevorstehenden Wochentags in .NET
Das Konzept des „nächsten Wochentags“ kann mehrdeutig sein, da es davon abhängt der aktuelle Wochentag. Hier sind einige Möglichkeiten, dies in C# mithilfe der .NET-Bibliothek anzugehen:
"Der nächste Dienstag findet statt, oder heute, wenn es bereits Dienstag ist"
Dieser Ansatz gibt den nächstgelegenen Dienstag zurück, der entweder heute oder ein zukünftiges Datum ist:
DateTime today = DateTime.Today; int daysUntilTuesday = ((int)DayOfWeek.Tuesday - (int)today.DayOfWeek + 7) % 7; DateTime nextTuesday = today.AddDays(daysUntilTuesday);
"In einer Woche ab jetzt, auch wenn es ist schon Dienstag“
Dieser Ansatz gibt den nächsten Dienstag zurück, überspringt aber eine Woche, wenn es bereits Dienstag ist:
int daysUntilTuesday = (((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7) + 1;
„Morgen oder der nächste Dienstag soll stattfinden, oder „Morgen, wenn es Dienstag ist“
Dieser Ansatz gibt den nächsten Dienstag zurück, beginnt aber ab morgen, um einen Extra-Dienst zu vermeiden Wochenverzögerung:
DateTime tomorrow = DateTime.Today.AddDays(1); int daysUntilTuesday = ((int)DayOfWeek.Tuesday - (int)tomorrow.DayOfWeek + 7) % 7; DateTime nextTuesday = tomorrow.AddDays(daysUntilTuesday);
Vielseitige Methode für jeden Wochentag
Um jeden Wochentag zu verarbeiten, erstellen Sie eine generische Methode GetNextWeekday, die eine DateTime und einen DayOfWeek als Eingabe akzeptiert:
public static DateTime GetNextWeekday(DateTime start, DayOfWeek day) { int daysToAdd = ((int) day - (int) start.DayOfWeek + 7) % 7; return start.AddDays(daysToAdd); }
Nutzung Beispiele
DateTime nextTuesday = GetNextWeekday(DateTime.Today, DayOfWeek.Tuesday);
DateTime nextTuesday = GetNextWeekday(DateTime.Today.AddDays(1), DayOfWeek.Tuesday);
Das obige ist der detaillierte Inhalt vonWie kann ich das Datum des nächsten Wochentags in .NET berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!