Как корректно получить разницу во времени, произвести замер?
От: Alexys Россия  
Дата: 18.02.11 08:46
Оценка:
Делаю следующее:
Перед операции узнаю время, после выполнения операции узнаю время, и получаю разницу
Всю логику допустим располагаю на кнопку.
И если кнопку нажимать повторно несколько раз, ts почему то остается одинаковым (например 0,1094464)... как так???

DateTime dt1 = DateTime.Now;
...
DateTime dt2 = DateTime.Now;
TimeSpan ts = dt2 — dt1;
0,1094464
Re: Как корректно получить разницу во времени, произвести за
От: mrjeka Россия  
Дата: 18.02.11 08:49
Оценка: 5 (2) +1
Здравствуйте, Alexys, Вы писали:

A>Делаю следующее:

A>Перед операции узнаю время, после выполнения операции узнаю время, и получаю разницу

Использовать Stopwatch
Re: Как корректно получить разницу во времени, произвести за
От: _FRED_ Черногория
Дата: 18.02.11 12:24
Оценка: 1 (1) +1
Здравствуйте, Alexys, Вы писали:

A>Делаю следующее:

A>Перед операции узнаю время, после выполнения операции узнаю время, и получаю разницу
A>Всю логику допустим располагаю на кнопку.
A>И если кнопку нажимать повторно несколько раз, ts почему то остается одинаковым (например 0,1094464)... как так???

Так же во время операции запросто может произойти перевод часов. Так что разница между двумя отсчётами текущего времени не может сказать вообще ни о чём.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Как корректно получить разницу во времени, произвести
От: rorеx Россия  
Дата: 19.02.11 16:42
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, Alexys, Вы писали:


A>>Делаю следующее:

A>>Перед операции узнаю время, после выполнения операции узнаю время, и получаю разницу
A>>Всю логику допустим располагаю на кнопку.
A>>И если кнопку нажимать повторно несколько раз, ts почему то остается одинаковым (например 0,1094464)... как так???

_FR>Так же во время операции запросто может произойти перевод часов. Так что разница между двумя отсчётами текущего времени не может сказать вообще ни о чём.


Int32 prevTickCount = Environment.TickCount;
//do something
Int32 durationInMSesonds = Environment.TickCount — prevTickCount;
Re: Как корректно получить разницу во времени, произвести за
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 19.02.11 17:24
Оценка:
Здравствуйте, Alexys, Вы писали:

A>Делаю следующее:

A>Перед операции узнаю время, после выполнения операции узнаю время, и получаю разницу
A>Всю логику допустим располагаю на кнопку.
A>И если кнопку нажимать повторно несколько раз, ts почему то остается одинаковым (например 0,1094464)... как так???

A>DateTime dt1 = DateTime.Now;

A>...
A>DateTime dt2 = DateTime.Now;
A>TimeSpan ts = dt2 — dt1;
A>0,1094464

Прям день сурка . Или вопрос точности замеров или почему они не точные (и не могут быть точными) и вправду возникает регулярно. Почитайте вот этот пост: http://www.rsdn.ru/forum/winapi/4159851.1.aspx
Автор: Mr. None
Дата: 16.02.11
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[3]: Как корректно получить разницу во времени, произвести
От: _FRED_ Черногория
Дата: 19.02.11 18:15
Оценка:
Здравствуйте, rorеx, Вы писали:

A>>>Делаю следующее:

A>>>Перед операции узнаю время, после выполнения операции узнаю время, и получаю разницу
A>>>Всю логику допустим располагаю на кнопку.
A>>>И если кнопку нажимать повторно несколько раз, ts почему то остается одинаковым (например 0,1094464)... как так???

_FR>>Так же во время операции запросто может произойти перевод часов. Так что разница между двумя отсчётами текущего времени не может сказать вообще ни о чём.


[cs]
R>Int32 prevTickCount = Environment.TickCount;
R>//do something
R>Int32 durationInMSesonds = Environment.TickCount - prevTickCount;
[/cs]

Если вы не знаете, в каких случаях ваша "durationInMSesonds" может стать отрицательной (и что с этим делать и всегда ли можно что-либо с этим сделать), вам ещё многому предстоит научиться.

Первым шагом должно стать внимательное прочтение документации и думание головой.
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.