You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()短时间返回相同值原因咨询

问题原因解析
  • 系统时钟分辨率限制:DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() 返回的是Unix纪元到当前时间的毫秒数,但操作系统的系统时钟并非以1毫秒为精度更新。比如Windows系统默认时钟分辨率约为10-15毫秒,系统每隔十几毫秒才会刷新一次时钟数值。如果连续调用该方法的间隔小于这个刷新周期,所有调用都会拿到同一个时钟快照值。

  • 代码执行速度极快:连续的Console.WriteLine调用在CPU上执行的速度非常快,几乎瞬间完成,这些操作全部处于同一个毫秒计时单位内,所以得到的毫秒数自然相同。

如果要验证这个结论,可以试试在调用之间加入极短延迟(比如await Task.Delay(1)),或者使用更高精度的计时方式,比如DateTimeOffset.UtcNow.Ticks(精度为100纳秒),这时就能看到不同的数值了。


内容的提问来源于stack exchange,提问作者Arluku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:48:17