前言
机房合作的过程中,下机部分是根据时间算钱的,那么这个时间如何相减呢?
时间相减
在C#中,DateTime类型的时间相减得出的类型是TimeSpan,在DateTime类型中有很多方法,当我们在DateTime类型的数据后面加个点就会出现它的方法,TimeSpan也不例外,因为这篇博客主要说的是时间相减得数的转换,其他方法不再做详细介绍,重点说一下有关时间转换的方法。
例
DateTime dt1 = Convert.ToDateTime("2016-05-25 03:00:00");
DateTime dt2 = Convert.ToDateTime("2016-05-26 04:01:01");
TimeSpan ts = dt2 - dt1;
string str = ts.Days + "天" + ts.Hours + "小时" + ts.Minutes + "分" + ts.Seconds + "秒";
lblTime.Text = str.ToString();
这时lblTime中显示的是“1天1小时1分1秒”。
DateTime dt1 = Convert.ToDateTime("2016-05-25 03:00:00");
DateTime dt2 = Convert.ToDateTime("2016-05-26 04:01:01");
TimeSpan ts = dt2 - dt1;
string str=ts.TotalDays + "天" + ts.TotalHours + "小时" + ts.TotalMinutes + "分";
lblTime.Text = str.ToString();
这时labelTime中显示的就是
1.04237268518519天
25.0169444444444小时
1501.01666666667分
总结
很显然,这个函数将所有时间换算成了我们需要的单位。由于机房收费系统中我们需要以分钟为单位计时收费,所以我们用.TotalMinutes这个方法,将相差时间换算成分钟,再进行计算。