创建倒计时到目前为止C#

时间:2012-06-21 20:56:03

标签: c# datetime timer timespan

我想创建一个只显示计时器的Windows窗体应用程序:

xx天 xx小时 xx分钟 xx秒

  • 没有设置计时器或其他任何选项,我想在代码中这样做 但是,问题是我希望它从当前时间倒计时(DateTime.Now) 到特定的日期。所以我最终得到的时间是TimeSpan类型。我现在怀疑如何实际显示它,所以它实际上正在工作,并且更新(倒计时) 似乎无法找到帮助我的教程,所以我希望我能在这里得到一些帮助:)

4 个答案:

答案 0 :(得分:6)

您可以使用timespan format string和计时器:

DateTime endTime = new DateTime(2013,01,01,0,0,0);
private void button1_Click(object sender, EventArgs e)
{ 
    Timer t = new Timer();
    t.Interval = 500;
    t.Tick +=new EventHandler(t_Tick);
    TimeSpan ts = endTime.Subtract(DateTime.Now);
    label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
    t.Start();
}

void  t_Tick(object sender, EventArgs e)
{
    TimeSpan ts = endTime.Subtract(DateTime.Now);
    label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}

答案 1 :(得分:4)

以下将为您提供倒计时字符串

//Get these values however you like.
DateTime daysLeft = DateTime.Parse("1/1/2012 12:00:01 AM");
DateTime startDate = DateTime.Now;

//Calculate countdown timer.
TimeSpan t = daysLeft - startDate;
string countDown = string.Format("{0} Days, {1} Hours, {2} Minutes, {3} Seconds til launch.", t.Days, t.Hours, t.Minutes, t.Seconds);

答案 2 :(得分:2)

使用ToDate.Subtract(现在),然后你所要做的就是格式化你得到的TimeSpan并在表格上显示它。

答案 3 :(得分:0)

你应该能够谷歌这样的东西,并获得数百个结果。 http://channel9.msdn.com/coding4fun/articles/Countdown-to,这是第一个看起来不错的产品。