[英]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.