2017-10-07 1 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(); 

그것이 0시 0분 1초을 표시 얻을 수 있나요 때의 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 Format 또는 Custom TimeSpan Format와 원하는 형식 :

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

완벽하게 작동합니다! 고맙습니다 –

관련 문제