web-dev-qa-db-ja.com

C#カルチャー:DayOfWeekをローカライズしますか?

今日以外のDayOfWeekをローカライズするにはどうすればよいですか?
以下は、当日は問題なく機能します。

_DateTime.Now.ToString("dddd", new CultureInfo("it-IT"));
_

しかし、どうすればすべての曜日をローカライズできますか?

編集:私が思いついた(そしておそらく非常に、非常に間違った)解決策は、1週間全体でDateTime値を作成し、それらにdate.ToString("dddd", new CultureInfo("it-IT"));を使用することですが、それはどうやら非常に多くのレベルで間違っています。

33
bevacqua

どうですか

DateTimeFormatInfo.CurrentInfo.GetDayName( dayOfWeek )

または

DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName( dayOfWeek )

DayOfWeek列挙を取得し、現在のカルチャの名前である文字列を返すだけです。

編集:

あなたが特定の文化を探しているなら、それは

var cultureInfo = new CultureInfo( "it-IT" );
var dateTimeInfo = cultureInfo.DateTimeFormat;

次に、必要に応じてGetDayNameまたはGetAbbreviatedDayNameを呼び出すことができます。

74
MerickOWA