C#:如何将TimeSpan值转换为double?

时间:2013-04-27 13:53:33

标签: c# .net datetime double timespan

如何在C#中将TimeSpan值转换为double

我的意思是我有-08:15:00,我想要一个双-08.15

5 个答案:

答案 0 :(得分:10)

尽管这个问题有多么模糊,但为了将来的参考,Umar可能是最接近回答问题的,因为它显示在标题中。

要从double对象获取TimeSpan,您需要选择最重要的衡量标准,并获得总计。作为Total<x>属性,将返回适当的完整值,并将该值的分数作为小数。

因此,如果您想要8:15:00double - "8"代表Hours,那么您需要TimeSpan.TotalHours,这将导致值为8.25。

如果"8"代表Minutes,那么您将再次使用相应的属性TimeSpan.TotalMinutes获得相同的结果,依此类推。

答案 1 :(得分:5)

您可以使用TimeSpan.TotalMinutes(获取以整数和小数分钟表示的当前TimeSpan结构的值)或其他类似properties

答案 2 :(得分:2)

不要在家里重复这个!

double value = (timeSpan.Hours + timeSpan.Minutes / 100.0 + timeSpan.Seconds / 10000.0) * (timeSpan > TimeSpan.Zero ? 1 : -1);

答案 3 :(得分:-1)

你可以使用string.format,然后解析它:

   double.Parse(string.Format("-HH.mm"))

答案 4 :(得分:-1)

对于通过DateTime获得的double格式为.ToOADate()的操作,必须将TimeSpan直接用{{1}转换为double },因为.TotalDays的单位(1.0)是一天。

具有实用的心态:

DateTime