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