gpt4 book ai didi

.net - DateTime.UtcNow.Ticks 有时会跳跃很多

转载 作者:可可西里 更新时间:2023-11-01 10:10:36 27 4
gpt4 key购买 nike

在一个打印出 DateTime.UtcNow.Ticks 值的紧密循环测试应用程序中,我注意到该值大约每隔一小时就会跳跃一次。仔细查看以下示例数据:

1:52:14.312 PM - 633614215343125000
1:52:14.359 PM - 633614215343593750
1:52:14.421 PM - 633614215344218750
1:52:14.468 PM - 633614215344687500
1:52:14.515 PM - 633614215998593750 <-- WAY different

增量为 653906250 个刻度(65.390 秒)。我能想到的唯一原因是 Windows 时间服务正在我脚下进行一些同步。

  • 有专家可以证实这一点吗?
  • 在大约一个小时内漂流一分钟左右对我来说似乎很糟糕,但这里是这种情况吗?

最佳答案

实际上,只是用这个循环运行一些测试:

static DateTime past = DateTime.UtcNow;
static void PrintTime()
{
while (stopLoop == 0)
{
DateTime now = DateTime.UtcNow;
Console.WriteLine("{0} - {1} d: {2}", now, now.Ticks, now - past);
Program.past = now;
Thread.Sleep(2000);
}
}

如果我在两次调用之间更改了系统的时钟时间,则增量会相应地跳跃。因此,如果您有时间同步运行或其他一些影响系统时间的进程,那么这将反射(reflect)在输出中。

关于.net - DateTime.UtcNow.Ticks 有时会跳跃很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/263229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com