Вы можете использовать Negate()
, чтобы изменить отрицательное значение на положительное
С MSDN
Если дата и время текущего экземпляра раньше значения,
метод возвращает объект TimeSpan, который представляет отрицательное время
пяди. То есть значение всех его ненулевых свойств (таких как
Дни или тики) отрицательный.
Таким образом, вы можете вызвать метод Negate в зависимости от того, какое значение больше и получить положительное значение Timespan
Скажем, у нас есть startDate
и endDate
( endDate больше чем startDate ), поэтому, когда мы делаем
startDate.Subtract(endDate)
мы бы получили отрицательный TimeSpan
. Таким образом, на основе этой проверки вы можете преобразовать отрицательное значение. Так что, если ваш перерыв опережает ранее, это даст вам отрицательный интервал времени
EDIT
Пожалуйста, отметьте Duration()
из TimeSpan
, это должно дать вам абсолютное значение всегда
Earlybeforetime.Duration()