显示";“剩余时间”;从设定的日期到现在
本文关键字:日期 剩余时间 quot 余时间 时间 显示 | 更新日期: 2023-09-27 18:21:14
我有一个应用程序,当某个操作发生时,使用Visual studion配置管理器将确切的DATE/TIME写为myTime,您可以在其中添加设置。
这是我的设置:属性。设置。默认值。voteTime
我希望一旦我的应用程序开始显示标签,将显示"X时间,直到下一次投票请求"
在我看来,投票必须每12小时进行一次,因此
我想让标签基本上显示这12个人还有多少时间小时,从我上面提到的投票时间开始。
我尝试过很多技术,但我是C#的新手,没有人为我工作,每次标签要么有他的默认文本,要么是空白的。。。
DateTime voteTime = Properties.Settings.Default.voteTime;
DateTime startDate = DateTime.Now;
//Calculate countdown timer.
TimeSpan t = voteTime - startDate;
string countDown = string.Format("{0} Days, {1} Hours, {2} Minutes, {3} Seconds til launch.", t.Days, t.Hours, t.Minutes, t.Seconds);
在上面,这就是我尝试的,然后我写了label1.text=countDown
提前谢谢。
如何操作:
您可以使用System.Windows.Forms.Timer
类继续显示您的剩余时间。您可以通过以下步骤完成:
创建并初始化计时器:
Timer timer1 = new Timer();
创建其tick
事件方法并设置更新显示时间的间隔:
timer1.Tick += timer1_Tick;
timer1.Interval = 1000; //i am setting it for one second
现在启动计时器:
timer1.Enabled = true;
timer1.Start();
创建timer.tick
事件方法并每秒更新标签:
void timer1_Tick(object sender, EventArgs e)
{
TimeSpan TimeRemaining = VoteTime - DateTime.Now;
label1.Text = TimeRemaining.Hours + " : " + TimeRemaining.Minutes + " : " + TimeRemaining.Seconds;
}
完整代码:
这是完整的代码。你可以直接复制粘贴:
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1.Tick += timer1_Tick;
timer1.Interval = 1000;
timer1.Enabled = true;
timer1.Start();
}
Timer timer1 = new Timer();
void timer1_Tick(object sender, EventArgs e)
{
TimeSpan TimeRemaining = VoteTime - DateTime.Now;
label1.Text = TimeRemaining.Hours + " : " + TimeRemaining.Minutes + " : " + TimeRemaining.Seconds;
}
这里有一个简单的方法,使用计时器控件,每分钟更新一次标签:
TimeSpan TimeLeft = new TimeSpan();
DateTime voteTime = Properties.Settings.Default.voteTime;
public Form3()
{
InitializeComponent();
TimeLeft = voteTime - DateTime.Now;
label1.Text = TimeLeft.ToString(@"hh':mm") + " til launch.";
//This value is in milliseconds. Adjust this for a different time
//interval between updates
timer1.Interval = 60000;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
TimeLeft = voteTime - DateTime.Now;
label1.Text = TimeLeft.ToString(@"hh':mm") + " til launch.";
}