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();
    }
}

代码说明:

  1. 使用 Stopwatch 类记录从程序开始到获取当前时间的流逝时间。
  2. 通过 stopwatch.ElapsedTicks 获取计时周期数。
  3. 将计时周期数转换为微秒:stopwatch.ElapsedTicks / (Stopwatch.Frequency / (1000L * 1000L))
  4. 最后将日期时间和微秒拼接成最终结果。

注意事项:

  • 此方法获取的微秒精度并非绝对准确,实际精度受限于系统时钟。
  • Stopwatch 类主要用于性能测试等场景,如果需要更精确的时间戳,建议使用更高精度的时间API。
C# 获取当前时间精确到微秒

原文地址: https://www.cveoy.top/t/topic/fKCc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录