2017-03-02 57 views
1
DateTime dt1 = DateTime.Parse(label1.Text); 
DateTime dt2 = DateTime.Parse(label2.Text); 
TimeSpan ts1 = dt2 - dt1; 

DateTime dt3 = DateTime.Parse(label3.Text); 
DateTime dt4 = DateTime.Parse(label4.Text); 
TimeSpan ts2 = dt4 - dt3; 


TimeSpan workTime = ts1 + ts2; 

label5.Text = workTime.TotalHours.ToString(); 

所以我的問題是如何修改此代碼段,以便它將輸出的數字從小數轉換爲「hh:mm」?工作時間calc - 如何將小數轉換爲「hh:mm」?

+0

通過使用'ToString(「hh:mm」)'? – HimBromBeere

+0

@HimBromBeere差不多。你需要轉義':'。 –

+0

@PatrickHofman這是不正確的,因爲它不會顯示_total_小時。如果時間跨度爲1天2小時 - 它將格式化爲「02:00」,而不是「26:00」(因爲我認爲OP需要)。 – Evk

回答

4

如果要包括總時數(所以它會轉換整天以小時也行),你可以做這樣的:

String.Format("{0:D2}:{1:D2}", (int)workTime.TotalHours, workTime.Minutes); 
0

從評論:

它贏得」噸是超過一天

然後

label5.Text = workTime.ToString(@"hh\:mm"); 

最簡單,正確。如果你不是100%肯定不會超過一天,那麼Evk的答案就是一個,因爲上面將顯示25個小時爲「01:00」,而Evk's會將其正確地顯示爲「 25:00" 。

相關問題