2009-12-23 50 views
-5

這當前日期和時間,但我希望有時間動態變化的類似系統時間:動態更改日期

DateTime t = DateTime.Now; 
toolStripStatusLabel.Text = "Current Date:" + " " + t.ToString("MMMM dddd dd, yyyy")+" " +"current Time:" +" " +t.ToString("hh:mm ss tt"); 
+1

沒有選定答案!!! – viky 2009-12-23 06:24:05

回答

1

在您的winform,加定時器控制標籤控制

Form Load事件添加代碼

yourTimer.Start(); 

定時器控制的屬性表,更改Interval屬性到1000

添加計時器滴答事件

private void yourTimer_Tick(object sender, EventArgs e) 
{ 
    yourLabel.Text = DateTime.Now.ToString("dd MMM yyyy hh:mm:ss"); 
} 
0

我的猜測是您希望ToolStripStatusLabel文本隨時間而改變。爲此,您需要定時器回調。添加一個定時器到你的表單和它的Elapsed處理程序中,將文本設置爲當前時間,就像你已經在做的那樣。

0

否則,您可以從服務器端設置的時間一次,不斷變化從Javascript工具提示值。在這種情況下,你不必再去到服務器端,並再次:)

+0

他在這裏談論一個winforms應用程序 – TimothyP 2009-12-23 06:01:27

+0

對不起,我不知道:(:( – Devi 2009-12-23 06:27:24

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」一百倍,它總是有一個分配給它的價值。

像astander指出的那樣,你需要更新它的每一秒左右。

一個建議:

而不是使用 「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")); 
}