我正在尝试转换
string date = "31.03.2013"
到DateTime
。这是我的代码:
Convert.ToDateTime(date,CultureInfo.InvariantCulture);
我收到格式异常。
根据http://msdn.microsoft.com/en-us/library/vstudio/cc165448.aspx它应该有效。 感谢
答案 0 :(得分:5)
不变文化基于en-US
,其中.
不是日期分隔符。
您需要使用正确的文化,例如fr-FR
,它会使用.
作为日期分隔符。
您还可以将DateTime.ParseExact
或DateTime.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);