2017-03-02 4 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(); 

私の質問は、10進数から "hh:mm"に出力する数値を変換するようにこのコードスニペットを変更する方法です。作業時間計算 - 10進数を "hh:mm"に変換するには?

+0

ToString( "hh:mm") 'を使用すると、 – HimBromBeere

+0

@HimBromBeereほぼ。 ':'をエスケープする必要があります。 –

+0

@PatrickHofmanは、_total_時間を表示しないため、正しくありません。 timespanが1日2時間の場合は、 "OP"が望むように "02:00"とフォーマットされ、 "26:00"ではフォーマットされません。 – Evk

答えて

4

あなたが(それはあまりにも時間に全体の日に変換するように)、合計時間を含めたい場合は、あなたがそのようにそれを行うことができます。

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

コメントから:

それは勝ちましたtはその後

label5.Text = workTime.ToString(@"hh\:mm"); 
日以上あること

は最も簡単で正確です。もしあなたが100%でないなら、Evkの答えは "01:00"と25時間を表示するので、Evkの答えは " 25:00」。

関連する問題