Чтобы взять разницу во времени в timespan в C#
Я разрабатываю приложение таймера, где я создал таймер и хочу сделать разницу между обоими временами в HH:MM:SS,с моей стороны, секундное решение работает идеально, но я не мог правильно получить минуты.
например: time1: 18:41:46
время 2: 18:42:12
когда timer2 - timer1
мой вывод должен быть 0:01:26
но я получаю вывод как 00:00:26 . пожалуйста, исправьте мою проблему
try { List<string> distinct = list.Distinct().ToList(); foreach (string value in distinct) { string svalue = value.Split(';')[1]; if (svalue == "SessionUnlock") { unlockvalue = value.Split(';')[0]; dt1 = DateTime.ParseExact(unlockvalue, "HH:mm:ss", new DateTimeFormatInfo()); } else { lockvalue = value.Split(';')[0]; dt2 = DateTime.ParseExact(lockvalue, "HH:mm:ss", new DateTimeFormatInfo()); TimeSpan ts = dt2.Subtract(dt1); MessageBox.Show(ts.ToString()); } }
Внутри списка Distict у меня есть такой список как
[0]=18:37:20;SessionUnlock
[1]=18:37:54;SessionLock
[2]=18:41:46;SessionUnlock
[3]=18:42:12;SessionLock
Что я уже пробовал:
try { List<string> distinct = list.Distinct().ToList(); foreach (string value in distinct) { string svalue = value.Split(';')[1]; if (svalue == "SessionUnlock") { unlockvalue = value.Split(';')[0]; dt1 = DateTime.ParseExact(unlockvalue, "HH:mm:ss", new DateTimeFormatInfo()); } else { lockvalue = value.Split(';')[0]; dt2 = DateTime.ParseExact(lockvalue, "HH:mm:ss", new DateTimeFormatInfo()); TimeSpan ts = dt2.Subtract(dt1); MessageBox.Show(ts.ToString()); } }
Bryian Tan
00:00:26 секунд кажутся мне правильными. В этом раунде машина победила!!