Простой способ справиться со временем в C #?

Мой нынешний подход - что-то вроде

DateTime startHour = new DateTime(1900,1,1,12,25,43);
DateTime endHour = new DateTime(1900,1,1,13,45,32);

// I need to, say, know if a complete DateTime instance 
// is later than startHour plus 15 minutes

DateTime now = DateTime.Now();

startHour = startHour.addMinutes(15);

if (now.CompareTo(new DateTime(now.Year, now.Month, now.Day, startHour.Hour, 
                    startHour.Minute, startHour.Second)) > 0) 
{
    //I can do something now
}

Это очень громоздко и даже подвержено провалу. Насколько я могу видеть, временные интервалы не являются решением, поскольку они представляют пролеты и не ограничены 24-часовым пределом (допустимый временной интервал 56 часов 34 минуты).

Каков предпочтительный подход для этого типа расчетов?

Чего мне не хватает?

РЕДАКТИРОВАТЬ: Расчеты, которые мне нужны, представляют собой способы сравнения полного экземпляра DateTime с часовым, минутным, вторым триплетом, представляющим фактическое время дня, и способом работы с этими триплетами (добавьте часы, минуты и секунды).

РЕДАКТИРОВАТЬ 2: Спасибо всем, я думаю, теперь я понял суть API DateTime. :) Единственное, что мне не хватает, - это указать время, которое должно представлять только время, но это не так.

Ответы на вопрос(2)

Ваш ответ на вопрос