运行时出现该字符串未被识别为有效的 DateTime。有一个从索引 0 处开始的未知字。

2025年05月05日 11:53
有5个网友回答
网友(1):

如果是sqlserver 查询的话 应该不要转成 dateTime 直接把字符窜放进去就可以查。
search += " and (order29 BETWEEN '" + Convert.ToDateTime(Request.QueryString["t1"] ) + "' AND '" + Convert.ToDateTime(Request.QueryString["tt1"] ) + "')";

如果过这样 Convert.ToDateTime(Request.QueryString["tt1"] ) 还报错 “该字符串未被识别为有效的 DateTime” 那么是就是传过来的值 不是规范的时间格式。

网友(2):

你是不能直接引用“t1”和“tt1”的,Convert.ToDateTime("t1") 是对字符串“t1”进行转换,这个t1并不是你传过来的Request.QueryString["t1"] 。
if (Request.QueryString["t1"] != null && Request.QueryString["tt1"] != null)
{
string str1 = Request.QueryString["t1"].ToString();
string str2 = Request.QueryString["tt1"].ToString();
search += " and (order29 BETWEEN '" + Convert.ToDateTime(str1) + "' AND '" + Convert.ToDateTime(str2) + "')";
}

网友(3):

建议写法:

DateTime t1;

DateTime t2;

if(DateTime.TryParse(Request.QueryString["t1"], out t1) && DateTime.TryParse(Request.QueryString["t11"], out t2))

{
search += " and (order29 BETWEEN '" + t1 + "' AND '" + t2+ "')";
}

网友(4):

流量

网友(5):

楼上正解