Comme obtenir "DateTime.Heures" ne vous permettra pas d'obtenir le quart d'heure seul, ce n'est pas très utile à cet égard. "DateTime.TotalHours" fonctionne presque, mais depuis un quart d'heure est seulement 15 minutes, nous pouvons simplifier de traiter des heures décimales complexes inutiles juste en utilisant cela.
double l = datetime2.Subtract(datetime1).TotalMinutes/15.0
Vous pouvez entourer cela avec Math.Round
ou toute autre méthode similaire pour obtenir un nombre entier d'heures de quart. Utilisez n'importe quelle méthode correspondant à votre style d'arrondi préféré (tel que le plancher ou le plafond). Je recommanderais Math.Round
, moi-même.
double l = Math.Round(datetime2.Subtract(datetime1).TotalMinutes/15.0)
Et si vous voulez exprimer ce que le total des heures avec des fractions étant seulement les heures de quart, il vous suffit de diviser le résultat arrondi par 4.
double l = Math.Round(datetime2.Subtract(datetime1).TotalMinutes/15.0)/4
Maintenant, supposons au lieu de montrer heures décimal, nous voulions montrer la différence de quart d'heure entre deux dates comme valeur temporelle. Par exemple, rendez 11 heures quart comme "2:45" au lieu de "2.75".Naturellement cela ne fonctionnera pas pour le stockage en tant que nombre réel, mais si vous avez besoin de produire, vous construisez probablement la chaîne comme ceci.
double l = Math.Round(datetime2.Subtract(datetime1).TotalMinutes/15.0)/4
double dLeft = Math.Floor(l);
double dRight = (l - dLeft) * 60.0;
string output = dLeft.ToString() + ":" + dRight.ToString();
Vous pouvez utiliser 'datetime2.Subtract (datetime1) .Minutes' à la place. –
je veux calculer quaterHour !!! – user281947
mais si vous arrondissez 3/4 jusqu'à 1 vous ne montrez plus les quarts d'heure ... – heisenberg