求助,总是出现从字符串转换日期和/或时间时,转换失败这个错误

private void gridviewbind()
{
SqlConnection myConn = new SqlConnection(connStr);
string S5 = Request.QueryString["a"];
DateTime S1 = Convert.ToDateTime(S5);
string S2 = Request.QueryString["b"];
string S3 = Request.QueryString["c"];
string S4 = Request.QueryString["d"];
SqlDataAdapter myDa = new SqlDataAdapter("select * from V4 where 时间='" + S1 + "&收银员" + S2 + "&商品种类" + S3 + "&品名" + S4 +"'", myConn);
myConn.Open();
DataSet myDataSet = new DataSet();
myDa.Fill(myDataSet);
GridView1.DataSource = myDataSet.Tables[0];
GridView1.DataBind();
myConn.Close();
}
错误:从字符串转换日期和/或时间时,转换失败
这个怎么解决

2个回答

public static String dataToString(java.util.Date dt, String type) {
String returnStr = null;
if (dt == null) {
return null;
} else {
// YYYY-MM-DD HH24:MI:SS
type = StringUtil.StringReplace("YYYY", "yyyy", type);
type = StringUtil.StringReplace("DD", "dd", type);
type = StringUtil.StringReplace("SS", "ss", type);
type = StringUtil.StringReplace("hh24", "HH", type);
type = StringUtil.StringReplace("HH24", "HH", type);
type = StringUtil.StringReplace("MI", "mm", type);
type = StringUtil.StringReplace("mi", "mm", type);
}
if (type == null || type.trim().equals("")) {
returnStr = DateFormat.getDateTimeInstance().format(dt);
} else {
SimpleDateFormat f = new SimpleDateFormat(type);
returnStr = f.format(dt);
}
return returnStr;
}

 * 转换的格式类型可以自行定义(其中年yyyy月MM日dd时HH分mm秒ss):<br>
 * (1)转换成yyyy-MM-dd HH:mm:ss格式:2005-5-25 10:50:24<br>
 * (2)转换成yyyy年MM月dd日 HH:mm:ss格式:2005年5月25日 10:50:24<br>
 * (3)转换成yyyyMMddHHmmss格式:20061024152356<br>
 * (4)转换成yyyy-MM-dd格式:2006-12-11<br>
 * (5)转换成yyyyMMdd格式:20061211<br>
 * (5)转换成yyyyMM格式:200612<br>
 * (6)转换类型null时,格式默认为yyyy-MM-dd HH:mm:ss
qq_34730277
南宫文凯 回复baidu_39252619: 殊途同归
2 年多之前 回复
baidu_39252619
baidu_39252619 能不能就题看一下,这是VS上的
2 年多之前 回复

楼主想要的日期格式是什么的 ?
我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(12:12:12)、日期+时间(2008-09-04 12:11:10)等。

//获取日期+时间
DateTime.Now.ToString(); // 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12

//获取日期
DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日
DateTime.Now.ToShortDateString().ToString(); // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04
DateTime.Now.Date.ToString(); // 2008-9-4 0:00:00

//获取时间
DateTime.Now.ToLongTimeString().ToString(); // 20:16:16
DateTime.Now.ToShortTimeString().ToString(); // 20:16
DateTime.Now.ToString("hh:mm:ss"); // 08:05:57
DateTime.Now.TimeOfDay.ToString(); // 20:33:50.7187500

//其他
DateTime.ToFileTime().ToString(); // 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString(); // 128650040772968750
DateTime.Now.ToOADate().ToString(); // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString(); // 2008-9-4 12:19:14

DateTime.Now.Year.ToString(); 获取年份 // 2008
DateTime.Now.Month.ToString(); 获取月份 // 9
DateTime.Now.DayOfWeek.ToString(); 获取星期 // Thursday
DateTime.Now.DayOfYear.ToString(); 获取第几天 // 248
DateTime.Now.Hour.ToString(); 获取小时 // 20
DateTime.Now.Minute.ToString(); 获取分钟 // 31
DateTime.Now.Second.ToString(); 获取秒数 // 45

//n为一个数,可以数整数,也可以事小数
dt.AddYears(n).ToString(); //时间加n年
dt.AddDays(n).ToString(); //加n天
dt.AddHours(n).ToString(); //加n小时
dt.AddMonths(n).ToString(); //加n个月
dt.AddSeconds(n).ToString(); //加n秒
dt.AddMinutes(n).ToString(); //加n分

SQL语句使用时间和日期的函数

getdate():获取系统当前时间
dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate())
datediff(datepart,startdate,enddate):计算两个时间的差值,比如:datediff(yy,getdate(),'2008-08-08')
dataname(datepart,date):获取时间不同部分的值,返回值为字符串
datepart(datepart,date):和datename相似,只是返回值为整型
day(date):获取指定时间的天数
month(date):获取指定时间的月份
year(date):获取指定时间的年份

select year(getdate()) :当前年份

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!