2016-11-05 43 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的問題上獲得更多信息。

可以將分辨率降低到更低的值,您可以在上面引用的相同問題中找到詳細信息。