当我开始某个过程时,我选择DateTime.Now并将其记住为StartTime。

在稍后的过程中,我从DateTime.Now中减去StartTime,以计算这两者之间的时间-开始时间和当前时间之间。

现在,问题在于这种方法并不总是准确的-在处理过程中,时间可能会由Windows使用时间服务器更改时间,甚至可能由用户手动更改。

是否有其他描述的时间测量方法可以始终正常工作-即使同时更改了Windows时间?

最佳答案

使用秒表。

var a = Stopwatch.StartNew(); // Initializes and starts running
var b = new Stopwatch(); // Initializes and doesn't start running

var c = a.Elapsed; // TimeSpan

a.Stop();
a.Start();
a.Reset();


秒表本身就像一个手表,因此它不依赖计算机的时钟。
只需从一开始就开始,然后检查Elapsed以查看已经过了多少时间。

关于c# - 绝对时间测量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10258766/

10-14 19:33
查看更多