我正在搜索如何格式化时间,包括微秒。 我正在使用类DateTime,它允许(使用属性)获取数据直到毫秒,这是不可能的。 我尝试使用Ticks,但我不知道如何将其转换为微秒。
答案 0 :(得分:81)
您可以在格式字符串中使用"ffffff"
来表示微秒:
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.ffffff"));
要将多个刻度转换为微秒,只需使用:
long microseconds = ticks / (TimeSpan.TicksPerMillisecond / 1000);
如果这些对您没有帮助,请提供有关您正在尝试做什么的更多信息。
编辑:我最初将ticks
乘以1000以避免在将TimeSpan.TicksPerMillisecond
除以1000时失去准确性。然而,事实证明TicksPerMillisecond
实际上是10,000的常数值 - 所以你可以毫无问题地除以1000,事实上我们可以使用:
const long TicksPerMicrosecond = 10;
...
long microseconds = ticks / TicksPerMicrosecond;
答案 1 :(得分: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)");
答案 2 :(得分:8)
“ffffff”就是你所需要的。
return DateTime.Now.ToString("HH:mm:ss.ffffff");
答案 3 :(得分:0)
是:
return DateTime.Now.ToString("HH:mm:ss.ffffff");
以小时:分钟:秒:微秒的格式显示的整个时间戳记
return DateTime.Now.ToString(".ffffff");
如果您只需要剩余微秒。