web-dev-qa-db-ja.com

DateTimeおよびCultureInfo

私のコードにこれがあります:

var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

そして、私の現在の文化がオランダ語であるとき(nl-NL)5月1日ではなく、1月5日です。

エラーは2番目のパラメーターdd.MM.yyyy HH:mm:ss

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

17
petko_stankoski

以下を試すことができます:

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

CultureInfoクラスを使用して、カルチャ情報を変更します。

var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);
6
Soner Gönül

InvariantCultureは_en-US_に似ているため、代わりに正しいCultureInfoを使用します。

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

デモ

そして、文化がいつen-usになるのか?そこにあるすべての単一言語のコードを作成する必要がありますか?

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

1
Tim Schmelter