首頁 >後端開發 >C++ >如何開始 C# 的一週?

如何開始 C# 的一週?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-22 14:13:09543瀏覽

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

用 C# 計算一週的開始日期

許多程式設計任務需要確定一週的開始。雖然 C# 沒有為此提供內建函數,但我們可以使用擴充方法輕鬆建立一個函數。

擴展方法增強現有類別而不改變其原始程式碼。 我們將在靜態類別中定義擴展方法來擴展 DateTime 類別:

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

StartOfWeek 方法根據提供的 DateTime 參數產生一個新的 startOfWeek 對象,表示一週的開始。 預設為星期一。要使用星期日作為開始,請傳遞 DayOfWeek.Sunday 作為參數。

使用擴充方法很簡單:

<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(); // Defaults to Monday</code>

這將返回本週(星期一)的開始。 週日開始一週:

<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);</code>

以上是如何開始 C# 的一週?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn