嗨,我正在开发一个应用程序,因为我需要将日期存储在sql server 2005数据库中,该数据库是从前端的文本框中检索的。在前端,用户可以从JQueryUIDatePicker插件中选择日期。
我得到的错误如下:
String was not recognized as a valid DateTime.
我的代码是:
db.eventDate = DateTime.Parse(txtDate.Text, new CultureInfo("en-US").DateTimeFormat);
试试这个代码
string yourDate = txtDate.Text;
string formattedDate = yourDate.ToString("dd-MM-yyyy");
DateTime dt = DateTime.ParseExact(formattedDate , "dd-MM-yyyy", CultureInfo.InvariantCulture);
您应该使用DateTime.TryParse(表达式)或将对DateTime.Parse的调用包装在try/catch块中。出于兴趣,你能发布一些你正在转换的日期示例吗?它们是美国格式的,对吧?
您最好将DateTime.ParseExact
与您为日期时间选择器设置的正确日期时间格式一起使用
例如,如果格式是"MM/dd/yyyy"
,您可以按照以下进行操作
db.eventDate = DateTime.ParseExact(txtDate.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
试试这个。。工作对我来说很好。
Convert.ToDateTime(txtDate.Text,System.Globalization.CultureInfo.GetCultureInfo("en-US").DateTimeFormat);
或
Convert.ToDateTime(txtDate.Text);
希望以下代码能帮助您。
Dim dt As New DateTime
Dim txtDateFromUser As String = "04/09/2014"
If DateTime.TryParse(txtDateFromUser, dt) = True Then
Dim connStr As String
connStr = System.Configuration.ConfigurationManager.ConnectionStrings("youConnectionStringName").ConnectionString
'Insert into database
Dim sqlconn As New SqlConnection
sqlconn.ConnectionString = connStr
Dim sqlcmd As New SqlCommand("insert into tblDateTime (dtTestDate) values ('" + dt.ToString() + "')")
sqlconn.Open()
sqlcmd.Connection = sqlconn
sqlcmd.ExecuteNonQuery()
End If
这是我用过的测试表:
create table tblDateTime (dtTestDate datetime)
我只是在代码中更改了JQuery UI DatePicker的日期格式。之前它是英国格式的,所以我在把数据保存到数据库时出错了。但一旦我把它改成美国格式,它就很好用。
我感谢所有审阅我的问题并向我提出答案的人。