首页 >后端开发 >C++ >如何开始 C# 的一周?

如何开始 C# 的一周?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-22 14:13:09524浏览

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