可能重复:
Conversion from string “31/03/2012” to type 'Date' is not valid
我尝试了Data.Parse和Convert.todatetime,但现在它说了 字符串未被识别为有效的DateTime。我还使用默认的“Invariant Language(Invariant Country)”将.NetGlobalozation和setUI Culture配置为“English(United States)(en-US)”但没有用。我错过了什么?堆栈跟踪如下..
你可以告诉我该怎么办? 开发..[FormatException:String未被识别为有效的DateTime。]
System.DateTimeParse.Parse(String s,DateTimeFormatInfo dtfi, DateTimeStyles样式)+2845862 System.DateTime.Parse(String s)+25 ProwessWebApp.Finyr.SSCreate_Click(Object sender,EventArgs e)in E:\ DevVB2008 \ ProwessWebApp \ ProwessWebApp \ ProwessWebApp \ Finyr.aspx.vb:130 System.Web.UI.WebControls.Button.OnClick(EventArgs e)+111
System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 eventArgument)+110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument)+10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)+13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) 1565
答案 0 :(得分:1)
31/03/2012
不是有效的英语日期。 english-us使用"月/日/年"订购,而您的输入日期是"日/月/年"。
03/31/2012
是您输入的正确顺序,或使用其他语言环境(法语......)。
答案 1 :(得分:0)
如果您确定日期始终与该格式完全相同,那么您可以改为使用ParseExact:
var date = DateTime.ParseExact(
"31/03/2012",
"dd/MM/yyyy",
System.Globalization.CultureInfo.InvariantCulture);