2012-05-02 6 views
17

floatの値を分数時間に換算してTimeSpanオブジェクトに変換する簡単な方法はありますか?例:フロートをタイムスパンに変換する

float oneAndAHalfHours = 1.5f; 
float twoHours = 2f; 
float threeHoursAndFifteenMinutes = 3.25f; 
float oneDayAndTwoHoursAndFortyFiveMinutes = 26.75f; 

TimeSpan myTimeSpan = ConvertToTimeSpan(oneAndAHalfHours); // Should return a TimeSpan Object 

答えて

33

FromHoursメソッドが必要です。

これが(floatではなく)doubleを取り、TimeSpanを返します。

double hours = 1.5; 
TimeSpan interval = TimeSpan.FromHours(hours); 

`TotalHours'プロパティを使用TimeSpanから合計時間を取得するには:

TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750); 
double hours = interval.TotalHours; 
12

だから、あなたは... TimeSpan.FromHours(double)を探していますか?

ドキュメントはお友達です。

+8

命名スキームの夢中こと。それで発見できない。 * TimeSpan.FromHoursが何回行うのだろうと思っていたのであろうか? –

+1

@JonSkeet:私は知っている、それは心をboggles。 Lippertはどこですか? –

+1

私はEricによって設計された日付/時刻APIを見るのにお金を払うでしょう。私は実際には完全に文字通り...私は彼の決定をノーダタイムで取ったものと比較することで得られる価値は私にとってかなり価値があると思う。 –

関連する問題