2010-11-29 18 views
19

Tengo un valor en TimeSpan, digamos: tsp1 = 2 horas 5 minutos. tengo otra variable TimeSpan que contiene un valor como: tsp2 = 0 horas 2 minutoscómo realizar la división en el intervalo de tiempo

Por favor, dígame cómo puedo dividir tsp1 por tsp2 para que pueda obtener el número exacto de veces tsp2 se divide en tsp1 y lo que el resto es.

Estoy usando Visual Studio 2008.

Gracias.

Respuesta

41

El enfoque más simple es, probablemente, solo tomar sus medidas y dividirlas. Por ejemplo:

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 llevará a cabo mi nough segundos para ~ 64 años, por lo que, siempre y cuando mantengan muy por debajo que:

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

y tal vez convertir el resto a int también.

Cuestiones relacionadas