Мой нынешний подход похож на
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. :) Единственное, что мне не хватает, - это способ указать TimeSpan, который должен представлять только TimeOfDay, но это не так.