Languages
[Edit]
EN

C# / .NET - get current machine time in microseconds

3 points
Created by:
Barmar
338

C# / .NET it is possible to take machine time in microseconds in following way.

Getting micro time with Stopwatch.GetTimestamp method example

public static class TimeUtils
{
	public static long GetMicroseconds()
	{
		double timestamp = Stopwatch.GetTimestamp();
		double microseconds = 1_000_000.0 * timestamp / Stopwatch.Frequency;

		return (long)microseconds;
	}
}

Example:

long t1 = TimeUtils.GetMicroseconds();

Thread.Sleep(1000);

long t2 = TimeUtils.GetMicroseconds();
long dt = t2 - t1;

Console.WriteLine(t2 + " - " + t1 + " = " + dt + " us");

Output:

196740354043 - 196739353217 = 1000826 us
Notes: 
  • Stopwatch.GetTimestamp returns time from timer mechanism - system up time.
  • The best application of this time could be measuring how much time took some operations.

References

  1. Stopwatch.GetTimestamp Method - Microsoft Docs
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join