【问题标题】:Conversion to hh:mm (24-hour clock format) fails to work无法转换为 hh:mm(24 小时时钟格式)
【发布时间】:2016-02-02 04:47:52
【问题描述】:

这里是关于我的开发环境的信息:

  • 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" 结果?

【问题讨论】:

    标签: c# asp.net time format timespan


    【解决方案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)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 2015-01-24
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多