2011-06-27 96 views
-1

如何獲得兩個日期時間變量之間的總小時數?減去兩個日期時間變量

date1=1/1/2011 12:00:00 

date2=1/3/2011 13:00:00 
datetime date1 ; 

datetime date2; 

int hours=(date1.date2).hours; 

輸出爲「1」,但我想即49小時

感謝

回答

8

使用TotalHours而不是Hours兩個日期之間的總小時的時差。請注意,結果是double - 您只需將其投射到int以獲取整個小時數。 (檢查你想要的行爲,如果結果是否定的,雖然...)

從文檔爲Hours

屬性值:當前時間跨度結構的小時部分。返回值的範圍從-23到23

你不想小時組件 - 你想整個時間跨度,以小時數。

+0

感謝Jon.In數據庫DateTime類型值是上午下午格式我如何轉換這24小時格式或我會得到正確的結果,而不將其轉換 –

+1

@saurabh:這是一個完全不同的問題 - 正確提取數據的問題。您不應該將其作爲字符串提取,但我們看不到任何用於訪問它的代碼。我建議你開始一個新的問題,如果你不能解決如何讓你的數據庫提供者給你一個'DateTime'而不是一個字符串。 –

4
int hours = (int) (date2 - date1).TotalHours; 
2
 DateTime date1 = new DateTime(2011, 1, 1, 12, 0, 0); 
     DateTime date2 = new DateTime(2011, 1, 3, 13, 0, 0); 
     TimeSpan ts = date2 - date1; 

     double hours = ts.TotalHours;