我的代码中有这样的代码:
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类来解决这个问题?
发布于 2012-12-10 17:02:51
您可以尝试以下操作:
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);发布于 2012-12-10 17:02:45
使用CultureInfo类更改您的区域性信息。
var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);发布于 2012-12-10 17:01:06
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"))。
https://stackoverflow.com/questions/13797727
复制相似问题