我正在尝试转换
string date = "31.03.2013"
到一个DateTime
。这是我的代码:
Convert.ToDateTime(date,CultureInfo.InvariantCulture);
我收到格式异常。
根据http://msdn.microsoft.com/en-us/library/vstudio/cc165448.aspx它应该可以工作。谢谢
我正在尝试转换
string date = "31.03.2013"
到一个DateTime
。这是我的代码:
Convert.ToDateTime(date,CultureInfo.InvariantCulture);
我收到格式异常。
根据http://msdn.microsoft.com/en-us/library/vstudio/cc165448.aspx它应该可以工作。谢谢
不变区域性基于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)
将工作。
怎么样
DateTime.ParseExact(date,"dd.MM.yyyy",null);
您可以尝试使用 DateTime.ParseExact 方法。它应该为您解决问题。
DateTime.ParseExact("31.03.2013", "dd.MM.yyyy", CultureInfo.InvariantCulture);
使用此代码 -
DateTime.ParseExact(date, "dd.MM.yyyy", CultureInfo.InvariantCulture);
你可以用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);