2009-06-23 7 views
39

Para obtener TimeSpan en cuestión de minutos desde que recibieron dos fechas que estoy haciendo lo siguiente¿Cómo obtengo TimeSpan en minutos con dos fechas?

int totalMinutes = 0; 
TimeSpan outresult = end.Subtract(start); 
totalMinutes = totalMinutes + ((end.Subtract(start).Days) * 24 * 60) + ((end.Subtract(start).Hours) * 60) +(end.Subtract(start).Minutes); 
return totalMinutes; 

¿Hay una mejor manera?

Respuesta

120
TimeSpan span = end-start; 
double totalMinutes = span.TotalMinutes; 
5

Ver TimeSpan.TotalMinutes:

obtiene el valor de la estructura TimeSpan actual expresado en conjunto y minutos fraccionarios.

7

lo haría así:

int totalMinutes = (int)(end - start).TotalMinutes; 
+0

Realmente viejo pero 'cast' se truncará. Use 'Convert.ToInt32' para obtener el redondeo correcto. – Asken

10

¿Por qué no hacerlo de esta manera?

DateTime dt1 = new DateTime(2009, 6, 1); 
DateTime dt2 = DateTime.Now; 
double totalminutes = (dt2 - dt1).TotalMinutes; 

Espero que esto ayude.

4
double totalMinutes = (end-start).TotalMinutes;