Я бы использовал метод datediff в .Net. Вы можете указать, какую часть даты вы хотите использовать в качестве интервала. Итак, сначала вы, вероятно, хотите проверить, что они в течение одного дня. В качестве интервала укажите день. Результат должен быть нулевым. Тогда вы можете найти часы, минуты, секунды и т. Д. Я уверен, что это дает вам дробные части: 1 час, 45 минут против 1,75 часа 105 минут. Затем просто сравните начальное и конечное время в вашем классе TimeSlot (который, я полагаю, является обычным?)