Вы хотите структуру TimeSpan
:
TimeSpan diff = dateTime1 - dateTime2;
Объект TimeSpan представляет временной интервал (продолжительность или прошедшее время), который измеряется как положительное или отрицательное число дней, часов, минут, секунд и долей секунды. Структура TimeSpan также может использоваться для представления времени суток, но только в том случае, если время не связано с конкретной датой.
Существуют различные способы возврата дней, часов, минут, секунд и миллисекунд из этой структуры.
Если вы просто заинтересованы в разнице, то:
TimeSpan diff = Math.Abs(dateTime1 - dateTime2);
даст вам положительную разницу между временами независимо от порядка.
Если вы только что получили компонент времени, но время может быть разделено на полночь, вам нужно добавить 24 часа к интервалу, чтобы получить фактическую разницу:
TimeSpan diff = dateTime1 - dateTime2;
if (diff < 0)
{
diff = diff + TimeSpan.FromDays(1);
}