2010-11-29 22 views
19

J'ai une valeur en TimeSpan, disons: tsp1 = 2 heure 5 minutes. J'ai une autre variable TimeSpan qui contient une valeur comme: tsp2 = 0 heures 2 minutescomment effectuer la division en timespan

S'il vous plaît me dire comment je peux diviser tsp1 par tsp2 pour que je puisse obtenir le nombre exact de fois tsp2 se divise en tsp1 et ce que le reste est. J'utilise Visual Studio 2008.

Merci.

Répondre

41

L'approche la plus simple est probablement simplement de prendre leurs longueurs en ticks et de les diviser. Par exemple:

long ticks1 = tsp1.Ticks; 
long ticks2 = tsp2.Ticks; 

long remainder; 
long count = Math.DivRem(ticks1, ticks2, out remainder); 

TimeSpan remainderSpan = TimeSpan.FromTicks(remainder); 

Console.WriteLine("tsp1/tsp2 = {0}, remainder {1}", count, remainderSpan); 
2

Un int tiendra e secondes pour nough ~ 64 ans, aussi longtemps que vous restez bien en dessous:

int count = (int) (tsp1.t.TotalSeconds/tsp2.t.TotalSeconds); 
double remainder = tsp1.t.TotalSeconds - (count * tsp2.t.TotalSeconds); 

Et peut-être convertir le reste en int ainsi.