2017-10-07 8 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分01秒を表示するために取得することは可能ですし、ときにを1に分00:01:00などとなります。

+0

HTTPS://codereview.stackex以下、例えばいずれかStandard TimeSpan Format又はCustom TimeSpan Format有する所望のフォーマットは、ミリ秒を含むであろうchange.com/questions/24995/convert-timespan-to-readable-textは、これを達成する方法を示しています。 – mjwills

+0

下の票がなぜ私のニーズに合っているのか、下の賛成の答えが、なぜ多くのコードではなくただ1行のコードになっているのか分かりません。 –

答えて

3

あなたは単にTimeSpanインスタンス上.ToString()メソッドを呼び出すことができ、それがHH stringを返します:MM:SS形式:

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

あなたは、より高度な書式設定が必要な場合は、ユーザーが指定することができます.ToString(string format)オーバーロードを使用します

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

完璧に動作します!ありがとうございました –

関連する問題