2017-10-07 65 views
-1

試圖顯示一個運行時間,它將顯示HH:MM:SS到目前爲止,我得到了SS部分的工作。但是,一旦它進入60它將跳回00定時器在標籤上顯示HH:MM:SS

我走到這一步的代碼是:

DateTime startTime; 
startTime = DateTime.Now; 
timer1.Tick += (s, ev) => { lb_runnerStatus.Text = String.Format("{0:00}", (DateTime.Now - startTime).Seconds); }; 
startTime = DateTime.Now; 
timer1.Interval = 100;  // every 1/10 of a second 
timer1.Start(); 

是否有可能得到它顯示00:00:01,當其在1分鐘00:01:00等等。

+0

HTTPS://codereview.stackex change.com/questions/24995/convert-timespan-to-readable-text告訴你如何實現這一目標。 – mjwills

+0

不知道爲什麼下面接受的答案更好地適合我的需要只是一行代碼而不是很多。 –

回答

3

你可以簡單地調用.ToString()TimeSpan實例方法,它會在HH返回string:MM:SS格式:

lb_runnerStatus.Text = (DateTime.Now - startTime).ToString(); 

如果您需要更先進的格式,使用.ToString(string format)超載,在那裏你可以指定所需的格式或者與Standard TimeSpan FormatCustom TimeSpan Format,例如以下將包括毫秒:

lb_runnerStatus.Text = (DateTime.Now - startTime).ToString("hh\\:mm\\:ss\\.fff"); 
+0

完美的作品!謝謝 –