这个当前的日期和时间,但我想让时间像系统时间一样动态变化:
DateTime t = DateTime.Now;
toolStripStatusLabel.Text = "Current Date:" + " " + t.ToString("MMMM dddd dd, yyyy")+" " +"current Time:" +" " +t.ToString("hh:mm ss tt");
答案 0 :(得分:1)
在winform上添加计时器控件和标签控件。
在表单加载事件中添加代码
yourTimer.Start();
在定时器控件的属性表中,将间隔属性更改为1000.
添加计时器勾选事件
private void yourTimer_Tick(object sender, EventArgs e)
{
yourLabel.Text = DateTime.Now.ToString("dd MMM yyyy hh:mm:ss");
}
答案 1 :(得分:0)
我的猜测是你希望ToolStripStatusLabel文本随时间变化。为此,您需要有一个计时器回调。将一个Timer添加到您的表单并在其Elapsed处理程序中,将文本设置为当前时间,就像您已经在做的那样。
答案 2 :(得分:0)
否则,您可以从服务器端设置一次,并不断更改Javascript中的工具提示值。在这种情况下,您不必一次又一次地转到服务器端:)
答案 3 :(得分:0)
更多信息
在您的代码中:
DateTime t = DateTime.Now;
toolStripStatusLabel.Text = "Current Date:" + " "
+ t.ToString("MMMM dddd dd, yyyy")
+ " " + "current Time:"
+ " " + t.ToString("hh:mm ss tt");
当前日期仅评估一次。 也就是说,DateTime t = DateTime.Now将当前日期存储在t中,并且该值永远不会再次更新。
所以,即使你使用't'一百次,也总会有分配给它的值。
就像旁观者指出的那样,你需要每隔一秒左右更新一次。
建议:
不应该使用“somestring”+“someotherstring”+“yetanotherstring” 请改用String.Format。例如(基于旁观者的代码)
private void yourTimer_Tick(object sender, EventArgs e)
{
yourLabel.Text = String.Format("Current Date: {0}",
DateTime.Now.ToString("dd MMM yyyy hh:mm:ss"));
}