web-dev-qa-db-ja.com

フロートをタイムスパンに変換する

端数時間を表す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

何か案は?

22
Icemanind

FromHours メソッドが必要です。

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

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

TimeSpanから合計時間を取得するには、 TotalHours プロパティを使用します。

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

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

ドキュメントはあなたの友達です。

12
Ed S.