Einfache Möglichkeit, die Zeit in C # zu verarbeiten?
Mein aktueller Ansatz ist so etwas wie
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
}
Dies ist sehr umständlich und sogar störungsanfällig. TimeSpans sind meines Erachtens keine Lösung, da sie Spannweiten darstellen und nicht an das 24-Stunden-Limit gebunden sind (eine TimeSpan von 56 Stunden und 34 Minuten ist gültig.)
Was ist der bevorzugte Ansatz für diese Art von Berechnungen?
Was vermisse ich?
BEARBEITEN: Die Berechnungen, nach denen ich suche, sind Möglichkeiten, eine vollständige DateTime-Instanz mit einem Stunden-, Minuten- und Sekunden-Triplett zu vergleichen, das eine tatsächliche Tageszeit darstellt, und eine Möglichkeit, über diese Triplets zu operieren (Stunden, Minuten, Sekunden hinzufügen).
EDIT 2: Vielen Dank an alle, ich denke, ich habe jetzt den Kern der DateTime-API. :) Das einzige, was ich vermisse, ist ein Mittel, um einen TimeSpan anzugeben, der nur einen TimeOfDay darstellen soll, aber das ist geringfügig.