运行准确的时钟

时间:2016-11-05 13:36:03

标签: c#

我正在制作模拟时钟应用程序,它具有正常时钟的准确性。它不是显示当前时间,而是显示从给定时间开始的时间。我使用了每秒触发的计时器事件处理程序。

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 个答案:

答案 0 :(得分:0)

至少在Windows上,你永远无法获得确切的时钟值。 普通分辨率约为15毫秒。这意味着如果读取值,则连续15 ms获得相同的值。

您可以在this问题中获得更多信息。

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