2009-07-06 65 views
6

我有一個像1.4,1.5,1.7的數據庫中的小時字段,我需要轉換回HH:MM。什麼是最簡單的方法來做到這一點?十進制小時到?

+2

什麼是1.4應該代表什麼? – 2009-07-06 15:44:59

回答

20

TimeSpan.FromHours

double value; 
TimeSpan t = TimeSpan.FromHours(value); 

實施例:

Console.WriteLine(TimeSpan.FromHours(1.4)); // prints 01:24:00 to the console. 
-2
Convert.ToDateTime(float) 
+0

我沒有標記這個,但是這會拋出一個InvalidCastException – 2009-07-06 15:55:48

1

的HH(小時)圖是小數點前數。

要獲得分鐘數字,請減去整數部分,以便您只有小數點後的數字,然後將分數乘以60得到分鐘數。

0

我發現TimeSpan方法在接受的答案是好幾小時< 24(1天)。

一個日期時間方法適合我的需要處理>24小時倍,而無需天(沒有前導0):

public string DecHrsToHHMM(double dHours) 
    { 
     DateTime dTime = new DateTime().AddHours(dHours); 
     return dTime.ToString("H:mm"); 
    } 
相關問題