¿Manera simple de manejar el tiempo en C #?
Mi enfoque actual es algo así como
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
}
Esto es muy engorroso e incluso propenso a fallar. Los TimeSpans no son una solución por lo que puedo ver, porque representan lapsos y no están limitados por el límite de 24 horas (es válido un TimeSpan de 56 horas y 34 minutos).
¿Cuál es el enfoque preferido para este tipo de cálculos?
¿Qué me estoy perdiendo?
EDITAR: Los cálculos que busco son formas de comparar una instancia completa de DateTime con una hora, un minuto, un segundo trío que representa una hora real del día y una forma de operar sobre esos trillizos (agregar horas, minutos, segundos).
EDITAR 2: Gracias a todos, tengo la esencia de la API DateTime ahora, creo. :) Lo único que echo de menos es un medio para especificar un TimeSpan que debería representar un TimeOfDay solamente, pero eso es menor.