Пожалуйста, помогите! Мне нужно, чтобы получить общее количество часов и минут, какой формат «HH: мм» из ListBox, например:VB.NET Как получить общее количество часов и минут в списке
11:20
22:40
34:00
Итого: 68:00
Я пытался использовать DATETIME и TimeSpan, но у него есть ошибка:
«DateTime представлено строкой не поддерживается в календаре 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 ts As TimeSpan = TimeSpan.ParseExact (« 34:00 »,« HH: mm »,« Глобализация ». CultureInfo.InvariantCulture) '. Я получил «System.OverflowException» для обоих методов. –