Heim >Backend-Entwicklung >C++ >Wie kann ich in C# den Start in die Woche schaffen?
Berechnung des Startdatums der Woche in C#
Viele Programmieraufgaben erfordern die Identifizierung des Wochenanfangs. Obwohl C# hierfür keine integrierte Funktion bietet, können wir mithilfe einer Erweiterungsmethode problemlos eine erstellen.
Erweiterungsmethoden erweitern bestehende Klassen, ohne ihren ursprünglichen Code zu ändern. Wir definieren unsere Erweiterungsmethode innerhalb einer statischen Klasse, um die Klasse DateTime
zu erweitern:
<code class="language-csharp">public static class DateTimeExtensions { public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek = DayOfWeek.Monday) { int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7; return dt.AddDays(-1 * diff).Date; } }</code>
Die StartOfWeek
-Methode generiert ein neues DateTime
-Objekt, das den Wochenanfang darstellt, basierend auf dem bereitgestellten startOfWeek
-Parameter. Der Standardwert ist Montag. Um den Sonntag als Start zu verwenden, übergeben Sie DayOfWeek.Sunday
als Argument.
Die Verwendung der Erweiterungsmethode ist unkompliziert:
<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(); // Defaults to Monday</code>
Dies gibt den Beginn der aktuellen Woche (Montag) zurück. Um die Woche am Sonntag zu beginnen:
<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);</code>
Das obige ist der detaillierte Inhalt vonWie kann ich in C# den Start in die Woche schaffen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!