你的位置:
问答吧
-> .NET
-> 问题详情
c# 该字符串未被识别为有效的 DateTime
string 编号 = gvBookReturn.DataKeys[e.NewSelectedIndex].Value.ToString();
DateTime returnDate = Convert.ToDateTime(gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text);
DateTime todayDate = DateTime.Now.Date;
TimeSpan ts = todayDate - returnDate;
int daysDate = ts.Days;
该字符串未被识别为有效的 DateTime。有一个从索引 2 处开始的未知字。
源错误:
行 77: //获取当前选择图书编号
行 78: string 编号 = gvBookReturn.DataKeys[e.NewSelectedIndex].Value.ToString();
行 79: DateTime returnDate = Convert.ToDateTime(gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text);
行 80: DateTime todayDate = DateTime.Now.Date;
行 81: TimeSpan ts = todayDate - returnDate;
错误行79行。
我想从SQL数据库的一个表里读取一个日期类型的数据给returnDate,再读取电脑现在的时间给todayDate,然后两个时间相减,相减后取天数给daysDate。
作者: lin2616770
发布时间: 2010-08-26
gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text的内容不符合日期/时间格式
检测一下gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text的值是什么
作者: jointan
发布时间: 2010-08-26
断点调试
看看gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text 为多少
应该是这个不是日期格式
作者: Peter200694013
发布时间: 2010-08-26
单步跟踪查看值
DateTime.TryParse
DateTime.ParseExact
作者: wuyq11
发布时间: 2010-08-26
DateTime returnDate = DateTime.TryParse(gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text);
再断点试。。。
作者: porschev
发布时间: 2010-08-26
楼主, 把测试看到的gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text 值说下...
作者: Peter200694013
发布时间: 2010-08-26
我也觉得是你gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text这句出了问题,不能转换为时间格式!
作者: zsw19909001
发布时间: 2010-08-26
你把你gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text变成你gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].value.toString("yyyy-MM-dd")
看行不
作者: xiangsuixinsheng
发布时间: 2010-08-26
引用 7 楼 xiangsuixinsheng 的回复:
你把你gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text变成你gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].value.toString("yyyy-MM-dd")
看行不
这样肯定不行的...
LZ 人呢?解决了?
估计得用DateTime.ParseExact
作者: Peter200694013
发布时间: 2010-08-26
你总得把你数据库里的日期转成字符串的格式发出来看下把
作者: yixiangling
发布时间: 2010-08-26
gvBookReturn.Rows[e.NewSelectedIndex].Cells[4].Text 不能转化为日期格式
作者: xrongzhen
发布时间: 2010-08-26