Подтвердить что ты не робот

Разделение временного интервала на число

У меня есть код, генерирующий временной интервал для вычисления продолжительности некоторого действия. То, что я хочу сделать, это принять этот результат (продолжительность) и разделить его на число, любое число.

Как я могу это сделать?

4b9b3361

Ответ 1

попробовать

TimeSpan X = ...;

var Result = X.TotalMilliseconds / WhatEverNumber;

Для справки см. MSDN.

Ответ 2

Вы можете использовать тики исходного времени:

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

Ответ 3

Используйте один из Total* свойств TimeSpan, которые являются числами.

т.е. если вы используете пять итераций некоторого кода, который вы измеряете, вы можете использовать

myTimeSpan.TotalMilliseconds / 5

чтобы получить среднее число миллисекунд за итерацию. Вы можете использовать Ticks, чтобы получить базовое значение и построить новый TimeSpan из разделенного результата.

Ответ 4

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

Ответ 5

Если вы хотите получить новый TimeSpan, который является частью старого:

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

Ответ 6

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

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

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

Ответ 7

Деление теперь поддерживается TimeSpan с .NET Standard 2.1.

Пример использования:

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