2013-12-15 52 views
0

我正在用C#編寫我創建的第一個勝利表單應用程序。我加入的代碼,一點點地顯示爲下面的第一個選項卡頁面上的當前日期和時間:日期和時間無法正常顯示

private void Form1_Load(object sender, EventArgs e) 
    { 
     // connect to database 
     c = new Connection(); 
     connect.ConnectionString = c.getConnection(); 

     //deals with date and time 
     Timer tmr = new Timer(); 
     tmr.Interval = 1000;//ticks every 1 second 
     tmr.Tick += new EventHandler(tmr_Tick); 
     tmr.Start(); 

    } 
    private void tmr_Tick(object sender, EventArgs e) 
    { 
     labeltime.Text = DateTime.Now.ToString(" Todays Date: dd/MM/yyyy\n\n Current  Time: HH:mm:ss"); 
    } 

在不正確的輸出。然而。日期和時間是正確的,並很好地打勾,但我希望它顯示「今天的日期:」它是混亂的「To15a1342(42是從時間的秒,滴答而出)和」當前時間「讀取CuRRenP Ti50e:

會有問題,我在英國的這是否要求我使用不同的代碼或東西

回答

2

您的文字被解釋爲格式化字符串,如DateTime.ToString(string format)解釋:??

format參數應該包含自定義格式模式(see Custom Date and Time Format Strings

只有無法識別的字符打印原樣,但作爲你注意到例如s得到由的Seconds的值所替代。

爲了讓ToString()忽略你的文字,你需要escape的文字,最好用單引號(')(另一種方法是在每個文字前一個反斜槓):

string dateTimeString = DateTime.Now 
    .ToString("' Todays Date: 'dd/MM/yyyy'\n\n Current  Time: 'HH:mm:ss"); 

或建立了繩子從單獨的部分:

var now = DateTime.Now; 
string dateTimeString = "' Todays Date: "; 
dateTimeString += now.ToString("dd/MM/yyyy"); 
dateTimeString += "\n\n Current  Time: "; 
dateTimeString += now.ToString("HH:mm:ss"); 

上面的字符串連接示例可以被簡化爲@ Rohit的答案演示。

+0

輝煌,謝謝! –

1

使用String.Format這樣的:

string dateTime = String.Format("Todays Date: {0}, Current Time: {1}", 
           DateTime.Now.ToString("dd/mm/yyyy"), 
           DateTime.Now.ToString("hh:mm:ss"));