DateTime格式异常

时间:2013-03-25 11:01:13

标签: c#

我正在尝试转换

string date = "31.03.2013" 

DateTime。这是我的代码:

Convert.ToDateTime(date,CultureInfo.InvariantCulture);

我收到格式异常。

根据http://msdn.microsoft.com/en-us/library/vstudio/cc165448.aspx它应该有效。 感谢

5 个答案:

答案 0 :(得分:5)

不变文化基于en-US,其中.不是日期分隔符。

您需要使用正确的文化,例如fr-FR,它会使用.作为日期分隔符。

您还可以将DateTime.ParseExactDateTime.TryParseExact与确切的格式字符串一起使用。

Convert.ToDateTime("31.03.2013", CultureInfo.GetCultureInfo("fr-FR"))

或者

DateTime.ParseExact("31.03.2013",
                    "dd.MM.yyyy",
                    CultureInfo.InvariantCulture)

会工作。

答案 1 :(得分:0)

怎么样

DateTime.ParseExact(date,"dd.MM.yyyy",null);

答案 2 :(得分:0)

您可以尝试使用DateTime.ParseExact方法。它应该为你做到这一点。

DateTime.ParseExact("31.03.2013", "dd.MM.yyyy", CultureInfo.InvariantCulture);

答案 3 :(得分:0)

使用此代码 -

DateTime.ParseExact(date, "dd.MM.yyyy", CultureInfo.InvariantCulture);

答案 4 :(得分:0)

您可以使用DateTime.TryParseExact尝试此操作:

string date = "31.03.2013";
DateTime dateConverted;
DateTime.TryParseExact(date, new string[] { "dd.MM.yyyy" }, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dateConverted);
Console.WriteLine(dateConverted);