<p>有这样的一个考勤要求,对于员工的加班时间,以半小时为单位计算,如我加班了30分钟,计为0.5小时,加班40分钟,仍为0.5小时,加班59分钟,还是为0.5小时,而加班60分钟,就计为1小时。</p>

加班70分钟,仍计1小时,直到90分钟,计1.5小时,到119分钟,仍为1.5小时,直到120分钟,可记为2小时。依次类推。

加班时间存储在TimeSpan类型变量overTime中,要获得如上计算的加班小时数overTimeHours,可以这样实现:

overTimeHours = Math.Floor(overTime.TotalMinutes / 30)/2.0;

即先将加班分钟数取出,除以30,得到半小时的个数,再用Math.Floor去掉小数部分,得到整的半小时的个数,最后用这个整数除以2.0,即可得到精确到半小时的小时数(0,0.5,1,1.5,2,2.5,……)。