当我开始某个过程时,我选择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/