Mon approche actuelle est quelque chose commeManière simple de gérer l'heure en 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
}
Ceci est très lourd et même l'échec sujettes. TimeSpans ne sont pas une solution autant que je peux voir, car ils représentent des travées et ne sont pas liés par la limite de 24 heures (un TimeSpan de 56 heures 34 minutes est valide.)
Quelle est l'approche préférée pour ce type de calculs?
Qu'est-ce qui me manque? EDIT: Les calculs que je cherche sont des façons de comparer une instance complète de DateTime avec une heure, une minute, un deuxième triplet représentant une heure réelle et un moyen de fonctionner sur ces triplets (ajouter des heures, des minutes et des secondes).
EDIT 2: Merci à tous, j'ai compris l'essentiel de l'API DateTime, je pense. :) La seule chose qui me manque est un moyen de spécifier un TimeSpan qui devrait représenter un TimeOfDay seulement, mais c'est mineur.
Quel est le problème que vous essayez de résoudre? Est-ce simplement que TimeSpan peut dépasser 24 heures? Parce que vous pouvez facilement vérifier cela. –