Heim >Backend-Entwicklung >C++ >Wie kann ich in C# den Start in die Woche schaffen?

Wie kann ich in C# den Start in die Woche schaffen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-22 14:13:09524Durchsuche

How Can I Get the Start of the Week in C#?

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!

Stellungnahme:
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