Как получить разницу во времени между двумя объектами DateTime? - PullRequest
2 голосов
/ 10 сентября 2011
 emp = moduleEmployee.ReturnEmployeeDAO().FetchEmployeeByID(emp);

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

 DateTime attTime = att.Time;

Согласно приведенному выше коду, у меня shiftStartTime - 23:00, а shiftEndTime - 7:00.а attTime или signIntime - 1:00.тогда как рассчитать разницу между shiftStartTime и attTime.где разница должна быть 2 часа.

помогите пожалуйста .....

Спасибо, Рушо

Ответы [ 4 ]

5 голосов
/ 10 сентября 2011

Если вы вычесть два DateTime объекта, вы получите TimeSpan.

A TimeSpan имеет свойства для TotalMilliseconds, TotalSeconds и т. Д.

Вы хотите TimeSpan.TotalHours

 int shiftHours = (attTime - shiftStartTime).TotalHours;
3 голосов
/ 10 сентября 2011
TimeSpan diff = att.Time.Subtract(emp.Shift.StartTime);
3 голосов
/ 10 сентября 2011

Просто вычтите один раз из другого, и вы получите TimeSpan объект.

см. http://msdn.microsoft.com/en-us/library/1905yhe2.aspx

2 голосов
/ 10 сентября 2011

вы просите что-то вроде этого:?

var timeSpan = (attTime - shiftStartTime);

В результате получается TimeSpan, в котором вы можете проверить, сколько часов, минут, дней, секунд и т. Д. ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...