Ответ 1
Вы можете использовать lateaftertime.Duration()
для получения неотрицательного диапазона.
Я хочу преобразовать значение разности времени всегда положительное
Мой код здесь:
TimeSpan lateaftertime = new TimeSpan();
lateaftertime = lateafter - Convert.ToDateTime(intime);
Я хочу, чтобы результат позднего времени всегда был положительным. пожалуйста, помогите мне..
Вы можете использовать lateaftertime.Duration()
для получения неотрицательного диапазона.
Вы можете использовать Math.Abs ():
lateaftertime = new TimeSpan(Math.Abs(lateaftertime.Ticks));
Пользователь V4Vendetta сделал правильный звонок в комментарии. Используйте свойство TimeSpan.Duration, оно всегда возвращает абсолютное значение.
ОК, я предполагаю, что вы используете С#, потому что это выглядит так.
Оператор -
в классе 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());