C# 获取当前时间精确到微秒
C# 获取当前时间精确到微秒
C# 中 DateTime 类型默认只能精确到毫秒,无法直接获取微秒级别的时间。但我们可以借助 Stopwatch 类来实现近似的微秒级时间获取。
代码示例:
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
DateTime currentTime = DateTime.Now;
long microseconds = stopwatch.ElapsedTicks / (Stopwatch.Frequency / (1000L * 1000L));
Console.WriteLine('当前时间: {0}.{1:D6}', currentTime.ToString('yyyy-MM-dd HH:mm:ss'), microseconds);
stopwatch.Stop();
}
}
代码说明:
- 使用
Stopwatch类记录从程序开始到获取当前时间的流逝时间。 - 通过
stopwatch.ElapsedTicks获取计时周期数。 - 将计时周期数转换为微秒:
stopwatch.ElapsedTicks / (Stopwatch.Frequency / (1000L * 1000L))。 - 最后将日期时间和微秒拼接成最终结果。
注意事项:
- 此方法获取的微秒精度并非绝对准确,实际精度受限于系统时钟。
- Stopwatch 类主要用于性能测试等场景,如果需要更精确的时间戳,建议使用更高精度的时间API。
原文地址: https://www.cveoy.top/t/topic/fKCc 著作权归作者所有。请勿转载和采集!