DateTime和CultureInfo

我的代码中有这个:

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类来解决这个问题?

您可以尝试以下方法:

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

使用CultureInfo类更改您的文化信息。

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

InvariantCulture类似于en-US ,所以我会使用正确的CultureInfo

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

演示

什么时候文化是什么? 我是否需要为那里的每种语言编写代码?

如果您想知道如何在“en-us”等其他文化中显示日期,可以使用date1.ToString(CultureInfo.CreateSpecificCulture("en-US"))