异常:无法将类型为“System.TimeSpan”的对象强制转换为类型“System.IConvertible”。

异常:无法将类型为“System.TimeSpan”的对象强制转换为类型“System.IConvertible”。_第1张图片
一般计算时间时就会出现这个问题, TimeSpan就是计算时间间隔时候用的结构,表示时间差。
DateTime类型的数据是可以进行相减的,但是进行运算之后是一中TimeSpan类型的数据,你需要定义一个这样的数据来接收相减以后的值。可是转换之后一运行就出现了,异常:无法将类型为“System.TimeSpan”的对象强制转换为类型“System.IConvertible”。
前后线比较的时间数据格式不统一,导致比较出错,解决方案:把计算的时间改为分钟,小时
,或天数,根据自己的需求来,然后在去求值就不会报错了。

 TimeSpan Spentdate = DateTime.Now - Convert.ToDateTime(table.Rows[0][2]);
 double minutes = Spentdate.TotalMinutes;//将相差时间全部转化为分钟

三种类型转换方式:


TimeSpan date = (Convert.ToDateTime(user.Data) - Convert.ToDateTime(flag.Rows[0][6])); 
double day = date.TotalDays;//将相差全部转为天数
double minutes = date.TotalMinutes;//将相差时间全部转化为分钟
double hours = date.TotalHours;//将全部时间全部转为小时

你可能感兴趣的:(ღ计算机成长路程)