用 C# 計算一週的開始日期
許多程式設計任務需要確定一週的開始。雖然 C# 沒有為此提供內建函數,但我們可以使用擴充方法輕鬆建立一個函數。
擴展方法增強現有類別而不改變其原始程式碼。 我們將在靜態類別中定義擴展方法來擴展 DateTime
類別:
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; } }
StartOfWeek
方法根據提供的 DateTime
參數產生一個新的 startOfWeek
對象,表示一週的開始。 預設為星期一。要使用星期日作為開始,請傳遞 DayOfWeek.Sunday
作為參數。
使用擴充方法很簡單:
DateTime dt = DateTime.Now.StartOfWeek(); // Defaults to Monday
這將返回本週(星期一)的開始。 週日開始一週:
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);
以上是如何開始 C# 的一週?的詳細內容。更多資訊請關注PHP中文網其他相關文章!