26

私は私のコードにこれを持っています:

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

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

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

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

4

4 に答える 4

43

次のことを試してみてください。

System.Globalization.CultureInfo cultureinfo =
        new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);
于 2012-12-10T09:02:51.293 に答える
6

class を使用CultureInfoしてカルチャ情報を変更します。

var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);
于 2012-12-10T09:02:44.633 に答える
1

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"))

于 2012-12-10T09:01:05.760 に答える