請幫忙!我需要的總小時和分鐘,其格式爲「HH:MM」從Control,例如:VB.NET如何在列表框中獲取總小時數和分鐘數
11:20
22:40
34:00
總:68:00
我試圖用日期時間和時間跨度,但它有錯誤:
「字符串表示的日期時間在日曆 System.Globalization.GregorianCalendar中不受支持」。
這裏是我的代碼:
ListBox_monthtime.Items.Add("11:20")
ListBox_monthtime.Items.Add("22:40")
ListBox_monthtime.Items.Add("34:00")
'SUM TIMES IN LISTBOX
Dim MyDateTimeMonthly As DateTime
Dim MyTimeSpanMonthly As New TimeSpan
For Each S As String In ListBox_monthtime.Items
MyDateTimeMonthly = DateTime.ParseExact(S, "HH:mm", System.Globalization.CultureInfo.InvariantCulture)
MyTimeSpanMonthly = MyTimeSpanMonthly.Add(New TimeSpan(MyDateTimeMonthly.Day, MyDateTimeMonthly.Hour, MyDateTimeMonthly.Minute, 0))
Next
monthtime_txt.Text = (MyTimeSpanMonthly.Days * 24 + MyTimeSpanMonthly.Hours) & ":" & MyTimeSpanMonthly.Minutes
'「34:00」'不會解析,因爲TimeSpan會將它描述爲'1:10:00'。您最好將它們保留爲TimeSpans,並以任何您需要的格式顯示結果,而不是轉換爲字符串 – Plutonix
謝謝,但我需要HH:mm格式來獲得最終結果。 –
@Plutonix我嘗試了以下方法:Dim ts As TimeSpan = TimeSpan.Parse(「34:00」)'Dim t As TimeSpan = TimeSpan.ParseExact(「34:00」,「HH:mm」,Globalization。 CultureInfo.InvariantCulture)'。這兩種方法都收到了一個'System.OverflowException'。 –