ドキュメントFormatting Date and Time for a Specific CultureDateTime書式とニュートラルカルチャ
による
DateTime
構造は、アプリケーションが日時タイプに文化に敏感な操作を実行できるようにするメソッドを提供します。アプリケーションでは、DateTimeFormatInfo
クラスを使用して、文化に基づいてDateTime型を書式設定して表示できます。たとえば、DateTimeFormatInfo.ShortDatePattern
を使用すると、2001年2月1日の日付は、英語(米国)、 "en-US"、カルチャーおよび01/02/2001の英語(イギリス)、 "en-GB"、文化。
DateTimeFormatInfo
オブジェクトは、特定文化のためか、不変文化のためではなく、ニュートラル文化のために作成することができます。 ニュートラルカルチャは、正しい日付形式を表示するのに十分な情報を提供しません。アプリケーションがニュートラルカルチャを使用してDateTimeFormatInfo
オブジェクトを作成しようとすると、例外がスローされます。
しかし、次のように例外は発生しません。特定の文化が指定されていないため、日付の書式設定の方法についての情報はどこにありますか?
Console.WriteLine(DateTime.Now.ToString("d", new CultureInfo("fr")));
更新:
あなたは一例new CultureInfo("fr-FR")
またはnew CultureInfo("fr")
のために、特定の文化やニュートラルカルチャ、 のインスタンスを作成することができます。
DateTime.ToString
方法においては
のToString(String)メソッドは、現在のカルチャの書式設定規則を使用する特定の形式で日付と時刻の値の文字列表現を返し言います。詳細については、
CultureInfo.CurrentCulture
を参照してください。
そしてCultureInfoドキュメントには、このプロパティとその関連オブジェクトによって返され
CultureInfoオブジェクトは、日付、時刻、数値、通貨値、テキストのソート順、ケーシングのデフォルトフォーマットを決定すると言います慣習、および文字列の比較。
アップデート2
はい、そう上記参照MSDNページは時代遅れであり、フレームワークの動作が変更されました。
私は.NET 3.0、私は次の例外を取得をターゲットにこのコードを実行すると、私は次のコード
var culture = new CultureInfo("en");
Console.WriteLine(DateTime.Now.ToString("d", culture));
を持っています。しかし、.NET 4.6.2ではうまくいきます。
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: Culture 'en' is a neutral culture. It cannot be used in formatting and parsing and therefore cannot be set as the thread's current culture.
ですから、元の質問に戻ってください。ニュートラルカルチャーを使うと、DateTime
形式の情報はどこから来ますか?
「new CultureInfo( "fr") 'が何であるか教えてください。 –
'new CultureInfo(" fr ")' – Pikoh
文化は中立であっても、特定であってもかまいません。 'en-US'や' fr-FR'は特定の文化ですが、 'en'や' fr'は中立的な文化であり、日付、数字などのフォーマット方法についての十分な情報は提供していません。https:詳細については、//msdn.microsoft.com/en-us/library/ff647353.aspxを参照してください。 – erdinger