转换为 hh:mm(24 小时制格式)不起作用

本文关键字:小时 格式 不起作用 hh mm 转换 | 更新日期: 2023-09-27 18:32:58

以下是有关我的开发环境的信息:

  • 视窗服务器 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"结果的方式实现代码?

转换为 hh:mm(24 小时制格式)不起作用

使用 TotalHoursMinutes (而不是立即调用 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)。