获得计算工作时间

时间:2013-03-19 06:30:20

标签: c#

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

 ***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点

例如2

startTime- 10.00 PM
   结束时间 - 05.00 AM

Out Put:7:00

我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您必须将datetime一起使用,以确保两次之间的确切时间。因为你将有不同的日期。假设班次从2013年3月18日晚上10点开始,到2013年3月19日上午5点结束

答案 1 :(得分:0)

尝试使用Timespan之类的;

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对象表示时间间隔(持续时间或   经过时间),以正数或负数来衡量   天,小时,分钟,秒和分数秒。