Heim > Backend-Entwicklung > C++ > Wie kann ich das Datum des nächsten Wochentags in .NET berechnen?

Wie kann ich das Datum des nächsten Wochentags in .NET berechnen?

Patricia Arquette
Freigeben: 2024-12-30 22:55:10
Original
572 Leute haben es durchsucht

How Can I Calculate the Date of the Next Weekday in .NET?

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);
Nach dem Login kopieren

"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;
Nach dem Login kopieren

„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);
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

Nutzung Beispiele

  • Heute oder in den nächsten 6 Tagen:
DateTime nextTuesday = GetNextWeekday(DateTime.Today, DayOfWeek.Tuesday);
Nach dem Login kopieren
  • Nächsten Dienstag außer heute:
DateTime nextTuesday = GetNextWeekday(DateTime.Today.AddDays(1), DayOfWeek.Tuesday);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage