将浮点数转换为时间跨度

时间:2012-05-02 20:28:01

标签: c# datetime timespan

是否有一种简单的方法可以获取表示小时数的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

有什么想法吗?

2 个答案:

答案 0 :(得分:45)

您需要FromHours方法。

这需要一个double(而不是float)并返回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;

答案 1 :(得分:12)

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

文档是你的朋友。