2016-11-05 44 views
-1

我正在研究模拟时钟应用程序,它具有准确的时钟准确性。而不是显示当前时间,它必须显示从给定时间开始的时间。我使用了一个每秒触发一次的定时器事件处理程序。运行准确的时钟

protected void Timer_Tick(object sender, EventArgs e) 
{ 
    DateTime CurrentTime = DateTime.Now; 

    TimeSpan ElapsedTime = m_PrevCurrentTime.HasValue ? CurrentTime - m_PrevCurrentTime.Value : TimeSpan.Zero; 

    Time += ElapsedTime; 

    // Update clock. 
    : 

    m_PrevCurrentTime = CurrentTime; 
} 

然而,ElapsedTime从来没有精确到1秒,因此时钟运行不准确。 有没有更好的方法?

+1

看看侧栏上的相关链接。 – LarsTech

回答

0

至少在Windows上,您永远无法获得准确的时钟值。 普通分辨率约为15毫秒。意思是如果读取该值,则连续15毫秒获得相同的值。

你可以在this的问题上获得更多信息。

可以将分辨率降低到更低的值,您可以在上面引用的相同问题中找到详细信息。