4

重複の可能性:
文化に基づいて週末を見つける

特定の日付が平日週末かを知るために .NET で利用できるロケール情報はありますか?

関数を使用します:

public Boolean IsWeekend(DateTime value, CultureInfo cultureInfo)
{
   return (value.DayOfWeek == DayOfWeek.Saturday || value.DayOfWeek == DayOfWeek.Sunday);
}

ただし、一部のカルチャでは無効な結果が返されます。

.NET は、すべてのカルチャの週末をコンパイルする作業を既に完了していますか?

4

1 に答える 1

3

それは非常に興味深い質問であり、答えはノーのようです。.Net にはそのような機能はありません。もちろん、DateTimeFormatInfoFirstDayOfWeekプロパティを使用できますが、それだけでは十分ではありません。

前日が週末だった可能性が高いことを伝えるだけです。ただし、週末が 1 日しかない国もあるため、あまり役に立ちません。また、イスラム教の国では金曜日が週末となるのが一般的ですが… 木曜日もある国もあれば、土曜日がある国もあり、金曜と日曜が休みの国もあると聞いたことがあります。この場合、週末について話すのはかなり難しいでしょう...

CLDR Chartsを見てみましたが、適切な情報が見つかりません。独り身のようです。理論的には、メソッドを持つICUCalendar クラス
を使用することを考えるかもしれませんが、その中の 1 つのクラスを使用するためだけに dll をインポートするのはかなり悪いように思えます。isWeekend()

于 2012-05-12T15:22:41.343 に答える