Продвинуть дату и время на секунды + микросекунды и отобразить результат? - PullRequest
1 голос
/ 26 января 2010

Я пытаюсь напечатать метку времени в строку, где:

Каждая временная метка основана на 1970.1.1 и увеличивается на (длинное) количество секунд и (длинное) количество микросекунд (всегда меньше 1 с).

Вот что я делаю:

DateTime TimeStamp = new DateTime(1970, 1, 1);            
TimeSpan span = new TimeSpan(0, 0, 0, (int)Soc, (int)Fracsec.Fracsec);
TimeStamp += span;

Я только что заметил, что DateTime и TimeSpan используют миллисекунды вместо микросекунд, и для меня крайне важно, чтобы я использовал микросекунды, может кто-нибудь сказать мне, как этого добиться?

Далее я пытаюсь отобразить результат за одну операцию (надеюсь). Есть ли способ сделать это?

Ответы [ 2 ]

1 голос
/ 26 января 2010

DateTime точнее, чем миллисекунды - посмотрите на свойства DateTime.Ticks и TimeSpan.Ticks. Тик представляет 100 наносекунд (то есть 10 тиков в микросекунду; 10000 в миллисекунду.) Это определено в TimeSpan.TicksPerMillisecond (константа).

(Следует помнить, что этот тип тика не совпадает с тиком в классе Stopwatch, который зависит от таймера.)

1 голос
/ 26 января 2010

Используйте свойство Ticks для достижения точности микросекунды и DateTime.Format() для его отображения. См. этот вопрос для более подробной информации. 10 Ticks равно 1 микросекунде.

Существует также класс StopWatch , который обеспечивает более точное измерение прошедшего времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...