从 TimeSpan 仅计算小时分钟秒
Calculate only hours minutes seconds from TimeSpan
我有一个这种格式的 7 字符串 00:00:00
我正在尝试使用时间跨度来计算这些字符串
问题是它用天数计算
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 New TimeSpan
ttsum = ts1 + ts2 + ts3 + ts4 + ts5 + ts6 + ts7
MsgBox(ttsum.ToString)
输出:2.04:51:26
期望的输出:52:51:26
这就是 TimeSpan
的工作方式。如果您不想要 TimeSpan.ToString
的输出,则不要使用它。您可以自己计算小时数并使用它:
MessageBox.Show($"{Convert.ToInt32(ttsum.TotalHours)}:{ttsum.Minutes:00}:{ttsum.Seconds:00}")
我有一个这种格式的 7 字符串 00:00:00
我正在尝试使用时间跨度来计算这些字符串
问题是它用天数计算
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 New TimeSpan
ttsum = ts1 + ts2 + ts3 + ts4 + ts5 + ts6 + ts7
MsgBox(ttsum.ToString)
输出:2.04:51:26
期望的输出:52:51:26
这就是 TimeSpan
的工作方式。如果您不想要 TimeSpan.ToString
的输出,则不要使用它。您可以自己计算小时数并使用它:
MessageBox.Show($"{Convert.ToInt32(ttsum.TotalHours)}:{ttsum.Minutes:00}:{ttsum.Seconds:00}")