Questions tagged «time-precision»

10
System.currentTimeMillis和System.nanoTime
精度与 精确 我想知道的是在更新对象在游戏中的位置时应该使用System.currentTimeMillis()还是System.nanoTime()?他们的运动变化与自上次通话以来经过的时间成正比,我想尽可能地精确。 我已经读到不同操作系统之间存在一些严重的时间分辨率问题(即Mac / Linux的分辨率几乎为1毫秒,而Windows的分辨率为50毫秒?)。我主要是在Windows上运行我的应用,而50ms的分辨率似乎非常不准确。 是否有比我列出的两个更好的选择? 有什么建议/意见吗?

7
使用C#获取时间(以毫秒为单位)
我正在编写一个程序,其中需要以毫秒为单位。到时间,我的意思是一个永远不会等于自己的数字,并且总是比第二秒大1000个数字。我试过转换DateTime.Now为a TimeSpan并TotalMilliseconds从中获取...,但我听说它并不十分准确。 有没有更简单的方法可以做到这一点?


6
在C#中创建时间戳的函数
我想知道,有没有办法从日期时间在C#中创建时间戳?我需要一个毫秒精度值,该精度值也可以在Compact Framework中使用(假设因为CF中不存在DateTime.ToBinary())。 我的问题是我想以数据库不可知的方式存储此值,以便以后可以对它进行排序并找出另一个值中更大的一个,等等。

7
C#DateTime.Now精度
在执行一些单元测试时,我只是遇到了DateTime.UtcNow一些意外的行为。看来,当您快速连续调用DateTime.Now/UtcNow时,似乎可以在比预期更长的时间间隔内返回相同的值,而不是捕获更精确的毫秒增量。 我知道有一个秒表类更适合进行精确的时间测量,但是我很好奇是否有人可以在DateTime中解释这种行为?是否有记录DateTime.Now的官方精度(例如,精度在50毫秒内?)?为什么将DateTime.Now设置为比大多数CPU时钟所能处理的精度低?也许它是专为最低公分母设计的? public static void Main(string[] args) { var stopwatch = new Stopwatch(); stopwatch.Start(); for (int i=0; i<1000; i++) { var now = DateTime.Now; Console.WriteLine(string.Format( "Ticks: {0}\tMilliseconds: {1}", now.Ticks, now.Millisecond)); } stopwatch.Stop(); Console.WriteLine("Stopwatch.ElapsedMilliseconds: {0}", stopwatch.ElapsedMilliseconds); Console.ReadLine(); }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.