2009-11-10 7 views

Répondre

3

Quelque chose comme ça devrait bien fonctionner, je suppose:

public static double SplitTime(TimeSpan input, TimeSpan splitSize) 
{ 
    double msInput = input.TotalMilliseconds; 
    double msSplitSize = splitSize.TotalMilliseconds;  
    return msInput/msSplitSize; 
} 

Exemple; divisé 1 heure dans 20 morceaux minute:

double result = SplitTime(new TimeSpan(1,0,0), new TimeSpan(0,20,0)); 

Je suppose que la méthode pourrait assez facilement être retravaillé pour retourner un tableau de TimeSpan objets contenant les différentes « tranches ».

0

Convertir en minutes, puis faire la divison.

h - hours 
m - minutes 
hd - divider hours 
md - divider minutes 
(h * 60 + m)/(hd * 60 + md) 
2

Commencez par convertir tout en secondes. 01:00 => 3600 secondes, 20 minutes => 1200 secondes alors vous pouvez diviser

8

Je venais d'utiliser l'objet TimeSpan:

int hours = 1; 
int minutes = 0; 
int seconds = 0; 
TimeSpan span = new TimeSpan(hours, minutes, seconds); 
double result = span.TotalMinutes/20; // 3 

Ne vous embêtez pas faire manuellement les conversions, la TimeSpan objet avec c'est TotalHours, TotalMinutes, TotalSeconds propriétés, etc, tout faire pour vous.

+0

+1 pour avoir mentionné les propriétés '.Total ...' – Oliver

Questions connexes