2009-06-23 49 views
39

爲了從給定兩個日期後收到時間跨度我做以下如何在兩分鐘內獲得TimeSpan分鐘?

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; 

有沒有更好的辦法?

回答

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

我會做這樣的:

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

真的老,但`鑄造`將截斷。使用`Convert.ToInt32`來正確取整。 – Asken 2017-04-20 13:52:26

10

爲什麼不直接做這種方式?

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

希望這會有所幫助。

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