如何将时间跨度方法转换为十进制
本文关键字:转换 十进制 方法 时间跨度 | 更新日期: 2023-09-27 18:15:09
下面是我的代码:
TimeSpan span1 = TimeSpan.FromHours(dtmIn.Value.Hour);
TimeSpan span2 = TimeSpan.FromHours(dtmOut.Value.Hour);
TimeSpan span3 = TimeSpan.FromMinutes(dtmIn.Value.Minute);
TimeSpan span4 = TimeSpan.FromMinutes(dtmOut.Value.Minute);
TimeSpan span5 = span2.Subtract(span1) + span4.Subtract(span3);
lblTotal.Text = Convert.ToDecimal(span5).ToString("#.00");
最后一行出现格式错误。显然,我可以让标签以时间形式返回,但我需要它以小数形式返回
将TimeSpan
转换为小数是没有意义的,因为时间不是数字。
您可能需要span5.TotalHours
,这是一个包含小数部分的double
。
小数应该代表什么?几个小时和几分之一小时?您必须理解TimeSpan
不能推断这一点,因为TimeSpan
可能跨越毫秒或千年。
如果实际上是几个小时或几个小时,那么:
lbTotal.Text = span5.TotalHours.ToString("#.00");