文本框字符串未被识别为有效的日期时间

本文关键字:有效 日期 时间 识别 字符串 文本 | 更新日期: 2023-09-27 18:32:06

我只需要一些关于以下代码的帮助。我得到字符串没有从此行重新识别为有效的日期时间。我尝试使用DateTime.TryParse,但它只是给了我错误,而Convert.ToDateTime给了我同样的错误。

   if(DateTime.Parse(TextBox3.Text)>=d1 && DateTime.Parse( TextBox4.Text)<=d2)
    {
protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection("Data Source = KEVS; Initial Catalog = booking; Integrated Security = True; ");
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    SqlDataReader dr;
    con.Open();
    cmd = new SqlCommand("select * from booking1 where busno='" + DropDownList1.SelectedItem.Text + "'", con);
   // cmd.CommandText = "Select * from booking1 where date='" + TextBox3.Text + "' and busno='" + DropDownList1.Text + "'";
    dr = cmd.ExecuteReader();
    if (dr.Read())
    {
         d1 = dr.GetDateTime(2);
         d2 = dr.GetDateTime(3);
    }
   if(DateTime.Parse(TextBox3.Text)>=d1 && DateTime.Parse( TextBox4.Text)<=d2)
    {
         Label14.Text = "bus is already booked by someone";
    }

文本框字符串未被识别为有效的日期时间

要解决眼前的问题,请使用 DateTime.TryParse 而不是 DateTime.Parse,因为您正在处理用户输入。仅当您知道该值是实际的 DateTime 表示形式时,才使用 Parse。

DateTime dt3;
DateTime dt4;
if(DateTime.TryParse(TextBox3.Text, out dt3) && dt3 >=d1 && DateTime.TryParse(TextBox4.Text, out dt4) && dt4 <=d2)

然后根据需要使用 dt3dt4 的值。