1

我目前正在构建一个系统,其中有一个部分来管理员工时间和超时,我想计算这个

 ***night shift (Must Work 8 Hr)***
  startTime- 10.00 PM   
  endTime- 06.00 AM 

所以我想计算那个日期的实际工作时间(timein - timeout)。我所做的是

TimeSpan duration = DateTime.Parse(endTime).Subtract(DateTime.Parse(startTime)); 

输出:16:00

我想要的是 8:00

例如 2

startTime- 10.00 PM
endTime- 05.00 AM

输出 : 7:00

我该怎么做?

4

2 回答 2

1

您还必须使用datewithtime来精确计算两次之间的时间。因为你会有不同的日期。假设班次从 2013 年 3 月 18 日晚上 10:00 开始,到 2013 年 3 月 19 日上午 5:00 结束

于 2013-03-19T06:32:29.177 回答
0

尝试使用Timespanlike;

DateTime a = new DateTime(2008, 01, 02, 23, 30, 00);
DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);

TimeSpan duration = b - a;

Console.WriteLine(duration);

输出将是

07:00:00

这是一个DEMO.

TimeSpan 对象表示一个时间间隔(持续时间或经过的时间),它以天数、小时数、分钟数、秒数和秒数的正数或负数来衡量。

于 2013-03-19T06:37:00.717 回答