2009-07-06 16 views
6

私は1.4,1.5,1.7のようなデータベースに時間フィールドを持ち、それをHH:MMに変換する必要があります。これを行う最も簡単な方法は何ですか?時間単位の10進数?

+2

? –

答えて

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がスローされます。 –

1

HH(時間)の図は、小数点の前に数です。

数値を取得するには、数値部分を減算して小数点以下の数値だけを取り、分数に60を掛けて分を求めます。

0

私は、受諾された回答の中で TimeSpan アプローチが時間のために良いことがわかった。< 24(1日)。

のDateTimeアプローチは日がなくても、> 24時間の時間を処理するための私の必要性に合った(と持っていない大手0):

1.4を表すことになって何
public string DecHrsToHHMM(double dHours) 
    { 
     DateTime dTime = new DateTime().AddHours(dHours); 
     return dTime.ToString("H:mm"); 
    }