25

有没有一种简单的方法来获取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

有任何想法吗?

4

2 回答 2

56

你想要的FromHours方法。

这需要一个双精度(而不是浮点数)并返回一个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;
于 2012-05-02T20:29:59.877 回答
12

所以,您正在寻找... TimeSpan.FromHours(double)

文档是你的朋友。

于 2012-05-02T20:29:52.127 回答