簡體   English   中英

使用自定義時間的C#時鍾

[英]C# Clock using Custom Time

嗨,我正在實現簡單的時鍾。

我的要求是我希望時鍾以我設置的時間而不是系統時間執行。

我已經實現了使用計時器,但它不是同步的。

    private void button1_Click(object sender, EventArgs e)
    {
        //dtvalue = 

        dtvalue = DateTime.Parse("11:33:05");

        label1.Text = dtvalue.ToString("HH : mm : ss : fff");

        timer1.Interval = 100;
        timer1.Tick += new EventHandler(timer_Tick);
        timer1.Start();
    }

    void timer_Tick(object sender, EventArgs e)
    {
        dtvalue = dtvalue.AddMilliseconds(100);
        label1.Text = dtvalue.ToString("HH : mm : ss : fff");


    }

我希望它能與我給的時間完全一樣地作為系統時鍾來實現。 感謝您的提前幫助–

我強烈避免反復添加特定的時間量-計時器不會解雇准時 ,所以你最終由於該漂流。

相反,請記住系統時鍾之間的差異,並在需要時添加該差異:

TimeSpan difference = ...;

void timer_Tick(object sender, EventArgs e)
{
    DateTime now = DateTime.Now; // Or UtcNow, see later
    DateTime adjusted = now + difference;
    label1.Text = adjusted.ToString("HH : mm : ss : fff");
    label2.Text = now.ToString("HH : mm : ss : fff");
}

您可能要考慮使用DateTime.UtcNow而不是DateTime.Now ,這取決於您是否希望自定義時鍾在時區偏移量更改時更改值。 我們不知道您真正想要實現什么,因此很難確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM