命名空间:System 程序集:mscorlib(在 mscorlib.dll 中)
说明: 1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值,
其中的五个重载方法之一的结构 TimeSpan( int days, int hours, int minutes, int seconds )
下面的列表涵盖了其中的一部分方法及属性解释
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。
C#中使用TimeSpan计算两个时间的差值
1 private string DateDiff(DateTime DateTime1, DateTime DateTime2) 2 {string dateDiff = null; 3 TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); 4 TimeSpan ts2 = new 5 TimeSpan(DateTime2.Ticks); 6 TimeSpan ts = ts1.Subtract(ts2).Duration(); 7 dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒"; 8 return dateDiff; 9 }
实例活动开始时间某日13点开始,逢8点、13点领取次数+1。
1 public static int HoursDiff(DateTime dt1, DateTime dt2) 2 { 3 TimeSpan ts1 = new TimeSpan(dt1.Ticks); 4 TimeSpan ts2 = new TimeSpan(dt2.Ticks); 5 TimeSpan ts = ts1.Subtract(ts2); 6 int dDays = ts.Days; 7 int dHours = ts.Hours; 8 int num = 0; 9 if (dDays > 0) 10 { 11 if (dHours < 19) 12 { 13 num = dDays * 2 + 1; 14 } 15 else 16 { 17 num = dDays * 2 + 2; 18 } 19 } 20 else 21 { 22 if (dHours == 0) 23 { 24 num = 1; 25 } 26 else if (dHours > 0) 27 { 28 if (dHours < 19) 29 { 30 num = 1; 31 } 32 else 33 { 34 num = 2; 35 } 36 } 37 } 38 return num; 39 }