[英]String was not recognized as a valid DateTime " format dd/MM/yyyy"
[英]DateTime parsing error while parsing dd/MM/yyyy format. String was not recognized as valid datetime
我使用Web用户控件中某些页面元素的值创建一个字符串,如下所示
string bookingdate = ddlDate.SelectedItem.Text
+ "/" + ddlMonth.SelectedValue + "/"
+ ddlMonth.SelectedItem.Text.Substring(4, 2);
并获取“字符串未被识别为有效的DateTime”。 下一行错误
cmd.Parameters.Add(new SqlParameter("@ArrivalDate", SqlDbType.DateTime)).Value =
DateTime.ParseExact(bookingdate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
如何更改此字符串“ bookingdate”的值以解决问题。
据我了解,您需要使用dd/mm/yyyy
Indian Date Format
。 因此,在您的代码中,将参数作为字符串传递,并在sql中使用Convert(date,Convert(datetime,@ArrivalDate,103))
处理它。 如果仅需要日期并且在Sql 2008 or above
上,则将date
用作数据类型
Convert(datetime,@ArrivalDate,103) and leave your datatype as datetime
在cs中:
cmd.Parameters.AddWithValue("@ArrivalDate", bookingdate);
因此, ddlMonth
包含这种格式的项目(您将链接发布到页面上):
<option value="08">Aug 14</option>
现在,您尝试从中提取月份和年份部分:
ddlMonth.SelectedValue + "/" + ddlMonth.SelectedItem.Text.Substring(4, 2)
您的格式字符串是这样的: dd/MM/yyyy
您已经看到问题了吗? 格式字符串期望年份为四位数。
而是使用以下格式字符串: dd/MM/yy
DateTime.ParseExact(bookingdate, "dd/MM/yy", CultureInfo.InvariantCulture);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.