You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中TimeSpan求和时分秒字符串不显示天数仅展示总时分秒问题

解决方案

TimeSpan结构默认的ToString()方法会将大于24小时的时长自动换算为「天.时:分:秒」格式,要得到累计总小时的展示效果,不需要修改求和逻辑,仅需要对最终的求和结果手动做格式化输出即可。

修改后的完整代码如下:

Dim l1 As String = "14:32:45"
Dim l2 As String = "07:43:13"
Dim l3 As String = "00:00:00"
Dim l4 As String = "00:00:00"
Dim l5 As String = "18:34:54"
Dim l6 As String = "00:00:00"
Dim l7 As String = "12:00:34"
Dim ts1 As TimeSpan = TimeSpan.Parse(l1)
Dim ts2 As TimeSpan = TimeSpan.Parse(l2)
Dim ts3 As TimeSpan = TimeSpan.Parse(l3)
Dim ts4 As TimeSpan = TimeSpan.Parse(l4)
Dim ts5 As TimeSpan = TimeSpan.Parse(l5)
Dim ts6 As TimeSpan = TimeSpan.Parse(l6)
Dim ts7 As TimeSpan = TimeSpan.Parse(l7)
Dim ttsum As TimeSpan = ts1 + ts2 + ts3 + ts4 + ts5 + ts6 + ts7

' 新增自定义格式化逻辑
Dim totalHours As Integer = ttsum.Days * 24 + ttsum.Hours
Dim result As String = $"{totalHours:D2}:{ttsum.Minutes:D2}:{ttsum.Seconds:D2}"
MsgBox(result)

格式化逻辑说明

  • 通过ttsum.Days * 24 + ttsum.Hours计算累计总小时数,避免直接取TotalHours属性带来的浮点精度问题
  • D2格式符会保证小时、分钟、秒都至少显示2位,不足时自动补前导零,和原时间字符串的格式保持一致
  • 运行后输出结果为52:51:26,符合预期要求

内容的提问来源于stack exchange,提问作者Break Inside

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:18:04