ホームページ > バックエンド開発 > C++ > C# で週の始まりを決定するにはどうすればよいですか?

C# で週の始まりを決定するにはどうすればよいですか?

DDD
リリース: 2025-01-22 14:16:10
オリジナル
319 人が閲覧しました

How Do I Determine the Start of the Week in C#?

C# で週の開始日を計算する

週の最初の曜日の決定は、スケジュールやデータ分析などの多くのアプリケーションにとって不可欠です。この記事では、C# で現在時刻を使用して週の開始日を計算する 2 つの方法を紹介します。

アプローチ 1: 拡張方法

拡張メソッドは、既存のクラスの機能を強化します。

クラスの拡張メソッドを作成して、週の開始を計算します。DateTime

<code class="language-csharp">public static class DateTimeExtensions
{
    public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
    {
        int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7;
        return dt.AddDays(-1 * diff).Date;
    }
}</code>
ログイン後にコピー
このメソッドは、現在の

と希望の開始日 (例: DateTime または DayOfWeek.Monday) を受け取ります。 週の始まりに達するまでに減算するのに必要な日数を計算します。DayOfWeek.Sunday

アプローチ 2: クラスの使用Calendar

クラスは別のアプローチを提供します。Calendar

<code class="language-csharp">Calendar calendar = CultureInfo.CurrentCulture.Calendar;
DateTime startOfWeek = calendar.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);</code>
ログイン後にコピー
このメソッドは、現在のカルチャのカレンダー設定を使用して、現在の

と希望する週の最初の日 (ここでは DateTime) を指定して週の開始日を決定します。DayOfWeek.Monday

実装例

拡張メソッドは次のように使用されます:

<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Monday); // Monday as the first day</code>
ログイン後にコピー
日曜日を初日として使用するには:

<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday); // Sunday as the first day</code>
ログイン後にコピー

概要

どちらの方法でも、週の開始日を効率的に決定できます。 最適な選択は、ニーズと必要な柔軟性によって異なります。

以上がC# で週の始まりを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート