字符串在C#asp.net中未被识别为有效的DateTime

Var*_*ese 1 asp.net c#-3.0 c#-2.0 c#-4.0

我想从excel单元格导入日期值.具有"2013年10月10日"格式的单元格值.我想将其转换为datetime数据类型.我的代码收到错误"字符串未被识别为有效的日期时间"

//码

      OleDbCommand olecmd = new OleDbCommand("select * from [Sheet1$]", olecon);


               OleDbDataReader olerdr = olecmd.ExecuteReader();
                 while (olerdr.Read())
                 {
                    deldate = olerdr.GetValue(13).ToString();
                     using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["irisdb"].ConnectionString))
                     {
                         con.Open();
                         SqlCommand cmd = new SqlCommand("procdamandrugs", con);
                         cmd.CommandType = CommandType.StoredProcedure;
     DateTime dt = DateTime.ParseExact(deldate, "MM/dd/yyyy", CultureInfo.InvariantCulture);//getting error in this line
                         SqlParameter par9 = new SqlParameter();
                         par9.ParameterName = "@deleffdate";
                         par9.SqlDbType = SqlDbType.DateTime;
                         par9.Value = dt;
                         cmd.Parameters.Add(par9);
 cmd.ExecuteNonQuery();
    }
    }
Run Code Online (Sandbox Code Playgroud)

有没有人帮我解决这个问题.

Adi*_*dil 5

具有"2013年10月10日"格式的单元格值.

您在ParseExact中提供的格式与您传递的日期字符串不匹配.您需要的格式与您提供的格式不同.对于你需要的一天,你需要dd一个月,你需要MMMM一年yyyy,你必须提供空格作为分隔符.

在MSDN上使用字符串格式进行日期转换是值得的文章自定义日期和时间格式字符串.

DateTime dt = DateTime.ParseExact(deldate, "dd MMMM yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)