将时间跨度转换为双倍

Pri*_*hiv -1 c# datetime timespan

我在将时间跨度转换为两倍时遇到了一些麻烦。这是我用来将双精度值转换为时间跨度的代码:

int r = 150;
string t = TimeSpan.FromHours(Convert.ToDouble(r)).ToString(@"dd\.hh\:mm\:ss");
Run Code Online (Sandbox Code Playgroud)

它给:

t--> 6.06:00:00

现在我需要150从时间跨度 ( 6.06:00:00) 中检索值( )。

Tim*_*ter 5

您需要给定时间跨度的总小时数吗?

double totalHours = t.TotalHours;
Run Code Online (Sandbox Code Playgroud)

因此,不要将时间跨度转换为字符串,而是将其存储为TimeSpan.

TimeSpan.TotalHours

获取以整小时和小数小时表示的当前 TimeSpan 结构的值。

如果您有一个字符串6.06:00:00并且想要小时数,请先将其解析为TimeSpan

TimeSpan ts = TimeSpan.Parse("6.06:00:00");
double hours = ts.TotalHours;
Run Code Online (Sandbox Code Playgroud)