以下是有关我的开发环境的信息:
Windows Server 2012 R2标准
64位操作系统,基于x64的处理器
Microsoft Visual Studio Professional 2013
.NET Framework 4.0
MongoDB 3.0.0
MongoDB C#驱动程序版本1.7.0.4714
我有C#代码需要显示hh:mm
的持续时间(24小时时钟格式)
我尝试使用TimeSpan.FromHours
功能。
String aTimSpn = TimeSpan.FromHours(70 - 19.083).ToString(@"hh\:mm");
问题在于上述代码的结果是"02:55"
,但我期待的是"50:55"
,这将是50小时55分钟。
如何以获得"50:55"
结果的方式实现代码?
答案 0 :(得分:1)
使用TotalHours
和Minutes
(而不是立即致电ToString
),并将TotalHours
投放到int
:
TimeSpan ts = TimeSpan.FromHours(70 - 19.083);
String aTimSpn = ((int)ts.TotalHours).ToString() + ":" + ts.Minutes.ToString();
Hours
会将TotalHours mod 24
(已投放到int
)结果(即2)而不是实际总小时数给出。
TotalHours
将为您提供包含分数的结果。因此,使用(int)
转换使其成为整数(50
而不是50.917
)。