Разность разностей всегда положительная

Я хочу преобразовать значение разности времени всегда положительное

Мой код здесь:

TimeSpan lateaftertime = new TimeSpan();
lateaftertime = lateafter - Convert.ToDateTime(intime);

Я хочу, чтобы результат позднего времени всегда был положительным. пожалуйста, помогите мне..

Ответы

Ответ 1

Вы можете использовать lateaftertime.Duration() для получения неотрицательного диапазона.

Ответ 2

Вы можете использовать Math.Abs ​​():

        lateaftertime = new TimeSpan(Math.Abs(lateaftertime.Ticks));

Пользователь V4Vendetta сделал правильный звонок в комментарии. Используйте свойство TimeSpan.Duration, оно всегда возвращает абсолютное значение.

Ответ 3

ОК, я предполагаю, что вы используете С#, потому что это выглядит так.

Оператор - в классе TimeSpan перегружен, поэтому все, что вам нужно сделать, это префикс вашего расчета с помощью -, как если бы вы выполняли преобразование целого числа. Вот код, который можно запустить в консольном приложении:

var inTime = "19-Jan-2012 21:00";
var lateAfter = Convert.ToDateTime("19-Jan-2012 20:00");
TimeSpan lateAfterTime = lateAfter - Convert.ToDateTime(inTime);

var positiveLateAfterTime =
    lateAfterTime < TimeSpan.Zero
    ?
    -lateAfterTime
    :
    lateAfterTime;

Console.WriteLine(positiveLateAfterTime.ToString());