Prosty sposób obsługi czasu w C #?

Moje obecne podejście jest podobne

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
}

Jest to bardzo kłopotliwe, a nawet podatne na awarie. O ile widzę, TimeSpany nie są rozwiązaniem, ponieważ reprezentują zakresy i nie są ograniczone limitem 24 godzin (obowiązuje limit czasu 56 godzin 34 minuty).

Jakie jest preferowane podejście do tego typu obliczeń?

czego mi brakuje?

EDYCJA: Obliczenia, po których jestem, są sposobami porównania pełnej instancji DateTime z godziną, minutą, drugą triolą reprezentującą rzeczywistą porę dnia i sposobem działania na tych trojaczkach (dodaj godziny, minuty sekund).

EDYTUJ 2: Dzięki wszystkim, teraz myślę o API Data Date. :) Jedyne, czego mi brakuje, to sposób na określenie TimeSpan, który powinien reprezentować tylko TimeOfDay, ale to jest niewielkie.

questionAnswers(4)

yourAnswerToTheQuestion