2012-12-10 13 views
15

は、私は私のコードでこれを持っています。のDateTimeとのCultureInfo

エラーは第2パラメータdd.MM.yyyy HH:mm:ssにあると思います。

CultureInfoクラスを使用してこれを修正する方法はありますか?

+1

はい、ParseExactが、解析を使用しないでください! ParseExactを使用すると、日付部分の特定の順序付けを要求しています。指定されたカルチャは文字列と区切り文字にのみ使用されます。 –

+1

'date'はどこから来ますか?どのように作成されますか? –

答えて

22

あなたは次のことを試してください:

System.Globalization.CultureInfo cultureinfo = 
     new System.Globalization.CultureInfo("nl-NL"); 
DateTime dt = DateTime.Parse(date, cultureinfo); 
+1

そして、文化はいつ私たちのものですか?そこにはすべての言語を記述する必要がありますか? –

+1

[ここをクリック](http://www.csharp-examples.net/culture-names/) – RajeshKdev

1

InvariantCultureen-USに似ているので、私が代わりに正しいCultureInfoを使用します。文化はEN-USであるときについて

var dutchCulture = CultureInfo.CreateSpecificCulture("nl-NL"); 
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCulture); 

Demo

そして、何を?私は のためにそこにあるすべての言語をコーディングする必要がありますか?

"en-us"のような別のカルチャで日付を表示する方法を知りたい場合は、date1.ToString(CultureInfo.CreateSpecificCulture("en-US"))を使用できます。

+0

そして、文化はいつ私たちのものですか?そこにはすべての言語を記述する必要がありますか? –

+0

@スレーセ:どういう意味ですか?書式文字列が "dd.MM.yyyy"の場合、それはculture en-usになることはありません。代わりに別の文化に日付を表​​示する方法を意味するなら、それは別の質問です。 'date1.ToString(CultureInfo.CreateSpecificCulture(" en-US "))'を使うことができます。 –

5

CultureInfoクラスを使用して文化情報を変更してください。

var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL"); 
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);