如何将时间跨度乘以百分比

Ero*_*uil 0 c# timespan

我正在尝试将 TimeSpan 乘以一个系数,但我不知道该怎么做。

我试过这个:

long ErrorCoef = 25;
TimeSpan TotalTimer = new TimeSpan(10,1,2,0);
TimeSpan TotalTimer2 = TimeSpan.FromTicks(TotalTimer.Ticks + TotalTimer.Ticks * (ErrorCoef / 100));
Run Code Online (Sandbox Code Playgroud)

(ErrorCoef/100)自动转换为 Long,所以它返回 0。

(TimeSpan.FromTicks() 方法只接受 Long 而不是 Double)

Ral*_*alf 5

Timespan 有一个 Multiply 方法,所以

var factor = 1.25d;
var totalTimer = new TimeSpan(10,1,2,0);
var totalTimer2 = totalTimer.Multiply(factor);
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩。

  • 特定于 .NETCore,需要 v2.0 或更高版本。 (2认同)