在C#ASP.net中将文本框内容转换为DateTime格式时出错



嗨,我正在开发一个应用程序,因为我需要将日期存储在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的日期格式。之前它是英国格式的,所以我在把数据保存到数据库时出错了。但一旦我把它改成美国格式,它就很好用。

我感谢所有审阅我的问题并向我提出答案的人。

相关内容

  • 没有找到相关文章

最新更新