c#怎么用timespan向数据库中插入小时和分钟

如题所述

新建一个页面,为了说明的更加简单明了,我放了2个日期框,通过点击按钮,用标签展示出各个结果。然后我再对各个功能的用法进行逐一解释说明.本例中使用的是c#的语法结构,其他语言的算法是一样的,只要语法稍微修改一下就可以用了。

在计算函数Button1_Click中先定义2个参数,读取2个日期值。
string time1 = TextBox1.Text.Trim();
string time2 = TextBox2.Text.Trim();
将这个字符型的值转换成日期类型,因为TimeSpan只针对时间格式的进行时间差计算。
DateTime date1 = DateTime.Parse(time1);
DateTime date2 = DateTime.Parse(time2);
定义一个结构体,将2个时间进行相减。 TimeSpan ts= date2 - date1;到此,其实我们已经得到了TimeSpan的值 了,接下来就是TimeSpan结构体的各个值的解析了

增加一个标签Label用于展示相差的天数。 Label1.Text = ts.Days.ToString(); //这里的Days出来的是整型的,为了展示特意转换成了string类型。下图1先输入时间,点击图1 中“计算时间差”按钮,出现图2 的效果。

增加一个标签Label用于展示相差的小时数。 Label2.Text = ts.Hours.ToString(); //这里的Hours出来的是整型的,为了展示特意转换成了string类型。下图1先输入时间,点击图1 中“计算时间差”按钮,出现图2 的效果。

注意在这里计算相差的小时数时,仅仅只是将小时数进行相减,如果不是同一天日期的,你就要先计算相差天数然后*24再加上时间差,否则就会出现下图的错误。

针对以上的错误,修改代码如下: Label2.Text = ts.Days * 24 + ts.Hours.ToString(); //先计算相差天数然后*24再加上时间差。这样修改之后,执行后的结果就如下图所示。

此外还有TimeSpan.Minutes, TimeSpan.Seconds的用法。TimeSpan.Minutes计算相差的分钟数。TimeSpan.Seconds计算相差的秒数。用法和TimeSpan.Hours是一样的。这里就不再描述。
温馨提示:答案为网友推荐,仅供参考