如何以自定义格式显示汇总的 TimeSpans?

How to display summed TimeSpans in a custom format?

我需要你的帮助来解决以下问题:

我有一个 ASP.net 网格视图,我想在网格视图中对单元格文本的时间求和,如果结果超过 24 小时,那么我不希望出现天数,我只需要小时和分钟 ( 45:12)。 我正在使用以下代码。请帮助。

protected void grvCustomers_RowDataBound(object sender, GridViewRowEventArgs e)
{
    TimeSpan sum3 = TimeSpan.Zero;
    if (e.Row.RowType==DataControlRowType.DataRow)
    {
        string tt3 = e.Row.Cells[4].Text;

        sum3 += TimeSpan.Parse(tt3);

        llate.Text = string.Format("{0}:{1}", (int)sum3.TotalHours, sum3.Minutes);
    }
} 

这样使用:

var j = string.Format("{0:00}",1); //output : 01
var j = string.Format("{0:00}",10); //output : 10

也可以用这个:

var i = 10.ToString().PadLeft(2, '0'); //output : 10
var i = 1.ToString().PadLeft(2, '0'); //output : 01

要将 TimeSpan 加在一起并将结果格式化为总小时数和分钟数,请尝试如下操作:

TimeSpan ts1 = TimeSpan.Parse("21:15");
TimeSpan ts2 = TimeSpan.Parse("14.23:02");
ts1 += ts2;

string hoursMinutes = string.Format("{0:00}:{1:00}", ts1.TotalHours, ts1.Minutes);