2010-11-29 7 views
19

Ich habe einen Wert in TimeSpan, lassen Sie uns sagen: tsp1 = 2 Stunden 5 Minuten. Ich habe eine andere TimeSpan Variable, die einen Wert wie enthält: tsp2 = 0 Stunden 2 Minutenwie man Teilung in Zeitspanne

Sie mir bitte sagen, wie ich tsp1 durch tsp2 teilen kann, so dass ich die genaue Anzahl, wie oft bekommen können tsp2 in tsp1 teilt und was der Rest ist.

Ich benutze Visual Studio 2008.

Danke.

Antwort

41

Der einfachste Ansatz ist wahrscheinlich, nur ihre Längen in Zecken zu nehmen und diese zu teilen. Zum Beispiel:

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

Ein int wird e nough Sekunden für ~ 64 Jahre, so lange, wie Sie unten das bleiben gut:

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

Und vielleicht den Rest umwandeln als auch in int.

Verwandte Themen