C# 当字符串为13/07/15时,字符串未被识别为有效的日期时间
我有一个字符串C# 当字符串为13/07/15时,字符串未被识别为有效的日期时间,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我有一个字符串date=13/07/15,是这种格式,我想把它转换成DateTime,但是我得到了下面提到的错误 String was not recognized as a valid DateTime. 如何将其转换为datetime。我试过这个 DateTime dt = Convert.ToDateTime(date); 这样做, DateTime date = DateTime.ParseExact(s, "dd/MM/yy", null); 来源:从未注意到不同的文化以不同的格
date=13/07/15
,是这种格式,我想把它转换成DateTime,但是我得到了下面提到的错误
String was not recognized as a valid DateTime.
如何将其转换为datetime。我试过这个
DateTime dt = Convert.ToDateTime(date);
这样做,
DateTime date = DateTime.ParseExact(s, "dd/MM/yy", null);
来源:从未注意到不同的文化以不同的格式书写数据和时间?虽然您使用的格式在大多数西欧国家都有效,但在美国却是垃圾 要解决此问题,您可以向系统询问当前日期和时间格式:
var currentCulture = System.Globalization.CultureInfor.CurrentCulture
IFormatProvider dateTimeFormat = currentCulture.DateTimeFormat;
string dateTxt = @"13/7/2015";
System.DateTime myDate = System.DateTime.Parse(dateTxt, dateTimeFormat);
如果您的计算机具有正确的区域性,那么这应该会起作用
如果你想了解很多文化,不要询问当前的文化,而是使用System.Globalization.CultureInfo的构造函数之一
不明智,因为2015年1月3日是指3月1日还是1月3日
您的代码
DateTime dt=Convert.ToDateTime(日期)代码>是完美的。在我看来,这个错误似乎在你的数据库中,因为如果它得到全年,它会将它转换为日期。请检查您的数据库。显示如何将其转换为DateTime
服务器上的区域性是否接受格式为dd/MM/yyyyy
的日期?DateTime
可能需要“dd/MM/yyy hour:min”的字符串因此,要么将时间添加到字符串中,使其成为有效的DateTime
,要么根据需要对其进行格式化。使用该重载时,将使用当前线程的当前区域性解析该字符串。我们不知道这种文化是什么?您可以指定一个您知道解析将成功的区域性,例如Convert.ToDateTime(“13/07/15”,new CultureInfo(“en GB”))
,因为英国文化允许这种“小尾端”顺序,并使用斜杠作为分隔符。它还与“fa-IR”(伊朗的波斯语/波斯语意思)配合使用。它不适用于“en-US”
或“
文化;他们想要第一个月。