我正在搜索如何格式化时间,包括微秒.我正在使用类DateTime,它允许(使用属性)获取数据直到毫秒,这是不可能的.我尝试使用Ticks,但我不知道如何将其转换为微秒.
Jon*_*eet 87
您可以"ffffff"在格式字符串中使用来表示微秒:
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.ffffff"));
Run Code Online (Sandbox Code Playgroud)
要将许多刻度转换为微秒,只需使用:
long microseconds = ticks / (TimeSpan.TicksPerMillisecond / 1000);
Run Code Online (Sandbox Code Playgroud)
如果这些对您没有帮助,请提供有关您正在尝试做什么的更多信息.
编辑:我最初乘以ticks1000,以避免在除以TimeSpan.TicksPerMillisecond1000 时失去准确性.然而,事实证明,它TicksPerMillisecond实际上是10,000的常数值 - 所以你可以除以1000没有问题,事实上我们可以使用:
const long TicksPerMicrosecond = 10;
...
long microseconds = ticks / TicksPerMicrosecond;
Run Code Online (Sandbox Code Playgroud)
小智 19
我无法让Johns打到微秒转换工作.以下是我使用刻度线和秒表测量微秒和纳秒分辨率的方法:
Stopwatch sw = new Stopwatch();
sw.Start();
// Do something you want to time
sw.Stop();
long microseconds = sw.ElapsedTicks / (Stopwatch.Frequency / (1000L*1000L));
long nanoseconds = sw.ElapsedTicks / (Stopwatch.Frequency / (1000L*1000L*1000L));
Console.WriteLine("Operation completed in: " + microseconds + " (us)");
Console.WriteLine("Operation completed in: " + nanoseconds + " (ns)");
Run Code Online (Sandbox Code Playgroud)
"ffffff"就是你所需要的.
return DateTime.Now.ToString("HH:mm:ss.ffffff");
Run Code Online (Sandbox Code Playgroud)