красиво отображать временной интервал

Извините за грубый код, я пытаюсь отобразить продолжительность видео с учетом времени в секундах. Я пошел ниже, но он не работает должным образом.

Я хочу, чтобы он просто отображался красиво — т. е. должен отображать 9 мин: 59 с, а не 09 мин: 59 с.

Если часы равны нулю, не отображать часы, если минуты равны нулю, не отображать минуты.

public static string GetTimeSpan(int secs)
{
    TimeSpan t = TimeSpan.FromSeconds(secs);

    string answer;
    if (secs < 60)
    {
        answer = string.Format("{0:D2}s", t.Seconds);
    }
    else if (secs < 600)//tenmins
    {
        answer = string.Format("{0:m}m:{1:D2}s", t.Minutes, t.Seconds);

    }
    else if (secs < 3600)//hour
    {
        answer = string.Format("{0:mm}m:{1:D2}s", t.Minutes, t.Seconds);
    }
    else
    {
        answer = string.Format("{0:h}h:{1:D2}m:{2:D2}s",
                                    t.Hours,
                                    t.Minutes,
                                    t.Seconds);
    }

    return answer;
}
12
задан Dmitrii Lobanov 15 February 2012 в 12:08
поделиться