DateTime和的CultureInfo(DateTime and CultureInfo)

2019-07-04 20:15发布

我有这个在我的代码:

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

而当我目前的文化性是荷兰( nl-NL ),而不是5月1日我得到的1月5日。

我认为错误是在第二个参数dd.MM.yyyy HH:mm:ss

有没有办法解决这个问题使用CultureInfo类?

Answer 1:

你可以尝试以下方法:

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


Answer 2:

使用CultureInfo类来改变你的文化信息。

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


Answer 3:

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



文章来源: DateTime and CultureInfo