工作时间计算 - 如何将小数转换为" hh:mm"?

时间:2017-03-02 12:09:13

标签: c#

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"?

2 个答案:

答案 0 :(得分:4)

如果您想要包含总小时数(以便将整天转换为小时数),您可以这样做:

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

答案 1 :(得分:0)

来自评论:

  

它不会超过一天

然后

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

最简单,也是正确的。如果你不是 100%确定它不会超过一天,那么Evk的回答就是那个,因为上面会显示25小时" 01:00"而Evk将正确地呈现为" 25:00"。