如何在C#中将TimeSpan
值转换为double
?
我的意思是我有-08:15:00
,我想要一个双-08.15
。
答案 0 :(得分:10)
尽管这个问题有多么模糊,但为了将来的参考,Umar可能是最接近回答问题的,因为它显示在标题中。
要从double
对象获取TimeSpan
,您需要选择最重要的衡量标准,并获得总计。作为Total<x>
属性,将返回适当的完整值,并将该值的分数作为小数。
因此,如果您想要8:15:00
,double
- "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