TimeSpan Earlybeforetime = new TimeSpan();
Earlybeforetime = earlybefore.Subtract(Convert.ToDateTime(outtime);
有时它返回一个负值。如何将值始终转换为正值?
最佳答案
您可以使用Negate()
将负值更改为正值
从MSDN
因此,您可以根据哪个值更大而调用Negate方法,并获得一个正的Timespan
假设我们有startDate
和endDate
(endDate大于startDate),那么当我们这样做时startDate.Subtract(endDate)
我们将得到一个否定的TimeSpan
。因此,基于此检查,您可以转换负值。因此,如果您的超时时间早于之前,则会给您带来负面的时间跨度
编辑
请检查Duration()
的TimeSpan
,这应始终为您提供绝对值Earlybeforetime.Duration()
关于c# - 从负值到正转换的时间跨度差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8923139/