C# 提供了多种方法来识别一周的第一天,无论是星期日还是星期一。 一项常见任务涉及仅根据当前日期和时间来确定这一点。
一个灵活的解决方案是创建一个自定义扩展方法,允许您指定所需的开始日期。该方法使用模运算来计算当前日期与指定开始日期之间的差异:
<code class="language-csharp">public static class DateTimeExtensions { public static DateTime WeekStart(this DateTime dt, DayOfWeek startOfWeek) { int offset = (7 + (dt.DayOfWeek - startOfWeek)) % 7; return dt.AddDays(-offset).Date; } }</code>
这个扩展方法的使用方式如下:
<code class="language-csharp">DateTime mondayStart = DateTime.Now.WeekStart(DayOfWeek.Monday);</code>
这将返回一周的开始日期,从星期一开始。 要查找从星期日开始的一周的开始:
<code class="language-csharp">DateTime sundayStart = DateTime.Now.WeekStart(DayOfWeek.Sunday);</code>
这种方法提供了一种简单而有效的方法来确定一周的开始日期,无论当天是哪一天。 这对于涉及每周安排或计算的任务特别有用。
以上是在 C# 中如何确定一周的开始(星期日或星期一)?的详细内容。更多信息请关注PHP中文网其他相关文章!