Как рассчитать время выполнение проекта от начала до его завершения?

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Как можно рассчитать? Чтобы в конце проекта записывалось в файл за сколько времени выполнился проект. Нужно для статистики.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Как можно рассчитать? Чтобы в конце проекта записывалось в файл за сколько времени выполнился проект. Нужно для статистики.
в начале шаблона {-Environment.TickCount-} записываем в переменную, допустим t1,
в конце шаблона {-Environment.TickCount-} записываем в t2,
с помощью c#-кода или js-кода делаем вычитание t1 из t2 и результат делим на 1000..
в результирующей переменной получаем кол-во секунд, которое затратилось на выполнение шаблона..
можно разделить еще на 60, чтобы получить кол-во минут..
 
  • Спасибо
Реакции: iBotovod и Tuw

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Взять {-TimeNow.Date-} вначале и в конце и вычесть разницу.
 
  • Спасибо
Реакции: iBotovod и Tuw

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Переведите в Unix формат и вычитайте.
В крайнем случае, получите начальную и конечную даты в одном формате и воспользуйтесь возможностями Microsoft Excel.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Продолжая тему.
Можно ли как-то, используя C# или JavaScript, преобразовать миллисекунды в формат month \ day \ hour \ minutes \ seconds?

Update:
Разобрался.
Поделюсь решением, может быть кому-нибудь пригодится.

Получаем текущее время в UNIX'e на старте проекта -> {-Variable.time_start-}.
По завершению проекта - так же фиксируем время - > {-Variable.time_end-}

Снипет C# для получения UNIX time (спасибо: 7make)
Код:
int unixTimestamp = (int)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
return unixTimestamp;
Далее получаем разницу с момента старта и завершения. И приводим данные в человеческий вид.
JavaScript
Код:
var sec = ({-Variable.time_end-} -  {-Variable.time_start-});
Math.floor(sec / 3600) + " час. " + (Math.floor(sec / 60) - (Math.floor(sec / 3600) * 60)) + " мин. " + sec % 60 + " сек. ";
Формат вывода: N час. N мин. N сек.
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)