时间跨度由一个数字划分

时间:2012-04-03 13:10:48

标签: c# timespan

我有一个生成时间跨度的代码来计算某些操作的持续时间。 我想做的是取结果(持续时间)并将其除以一个数字,任意数字。

我该怎么做?

7 个答案:

答案 0 :(得分:30)

您可以使用原始时间跨度的刻度:

var res = new TimeSpan(origSpan.Ticks / aNumberAnyNumber);

答案 1 :(得分:8)

使用Total*的{​​{1}}属性之一作为数字。

即。如果您正在运行您测量的某些代码的五次迭代,那么您可以使用

TimeSpan

获取每次迭代的平均毫秒数。您可以使用myTimeSpan.TotalMilliseconds / 5 获取基础值,并从分割结果中构建新的Ticks

答案 2 :(得分:7)

TimeSpan X = ...;

var Result = X.TotalMilliseconds / WhatEverNumber;

有关参考,请参阅MSDN

答案 3 :(得分:7)

TimeSpan ts = ...
TimeSpan result = TimeSpan.FromTicks(ts.Ticks / divisor);

答案 4 :(得分:3)

如果你想得到一个新旧的TimeSpan:

TimeSpan now = DateTime.Now.TimeOfDay;
TimeSpan halfOfNow = new TimeSpan(now.Ticks / 2);

答案 5 :(得分:0)

取决于你想要分割什么,但是假设你想要秒,你可以使用totalseconds属性。

TimeSpan ts = new TimeSpan(4, 0, 0);  //Four hours

MessageBox.Show((ts.TotalSeconds / 4).ToString());

答案 6 :(得分:0)

自.NET Standard 2.1开始,TimeSpan支持分区。

用法示例:

TimeSpan timeSpan = ...
int divisor = ...
TimeSpan result = timeSpan / divisor;