2013-06-12 109 views
1

同時計算所有跨度它顯示結果幾天之(dd:HH:mm)。問題是我如何只獲取HH:mm總和format.how我的天轉換成小時C#轉換天HH:MM在時間跨度

  TimeSpan Span1 = TimeSpan.Parse(mnts1); 
      TimeSpan Span2 = TimeSpan.Parse(tuts1); 
      TimeSpan Span3 = TimeSpan.Parse(wdts1); 
      TimeSpan Span4 = TimeSpan.Parse(thts1); 
      TimeSpan Span5 = TimeSpan.Parse(frts1); 
      TimeSpan Span6 = TimeSpan.Parse(stts1); 
      TimeSpan Span7 = TimeSpan.Parse(suts1); 
      TimeSpan rf = Span1 + Span2 + Span3 + Span4 + Span5 + Span6 + Span7; 

回答

4

似乎沒有獲得TimeSpan總小時數的格式選項。您最好的選擇是使用TotalHours屬性來代替:

Console.WriteLine("{0:00}:{1:00}", (int)rf.TotalHours, rf.Minutes); 

TotalHours返回一個double,因爲它包含小數個小時,所以你需要截斷它只是整數部分。

+0

爲什麼你必須轉換爲整數?您的格式代碼指定不應顯示小數。 – Mitch

+0

@Mitch只是爲了讓用戶意識到它會返回'double'..nothing不止於此。 –

+0

@ bhushan..it得到總小時..但我發現是正確的答案。謝謝string hr1 = rf.TotalHours.ToString(「00」)+':'+ rf.Minutes.ToString(); – Bhavi

4

格式它手動:

Console.WriteLine("{0:00}:{1:00}", rf.TotalHours, rf.Minutes); 

你仍然可以使用字符串格式化通過調用string.Format

string result = string.Format("{0:00}:{1:00}", rf.TotalHours, rf.Minutes); 
Console.WriteLine(result);