转换为hh:mm(24小时时钟格式)无效

时间:2016-02-02 04:47:52

标签: c# asp.net time format timespan

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

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

1 个答案:

答案 0 :(得分:1)

使用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)。