如何获取两个DateTime对象之间的时差?

时间:2011-09-09 21:09:21

标签: c# datetime

 emp = moduleEmployee.ReturnEmployeeDAO().FetchEmployeeByID(emp);

 DateTime shiftStartTime = emp.Shift.StartTime;
 DateTime shiftEndTime = emp.Shift.EndTime;

 DateTime attTime = att.Time;

根据上面的代码,我的shiftStartTime是11.00 PM,shiftEndTime是7.00 AM。和attTime或signIntime是凌晨1.00。那么如何计算shiftStartTime和attTime之间的差异。差异应该是2小时。

请帮助.....

谢谢Rusho

4 个答案:

答案 0 :(得分:5)

如果您减去两个DateTime个对象,则会得到TimeSpan

TimeSpan具有TotalMillisecondsTotalSeconds等属性。

您需要 TimeSpan.TotalHours

 int shiftHours = (attTime - shiftStartTime).TotalHours;

答案 1 :(得分:3)

只需从另一个中减去一次,你就会得到一个TimeSpan对象。

请参阅http://msdn.microsoft.com/en-us/library/1905yhe2.aspx

答案 2 :(得分:3)

TimeSpan diff = att.Time.Subtract(emp.Shift.StartTime);

答案 3 :(得分:2)

你要求的是这样的东西:?

var timeSpan = (attTime - shiftStartTime);

结果是TimeSpan,您可以在其中查看多少小时,分钟,天,秒等...