public static string GetShortFormFromSeconds(int seconds, ShowTimeOptions showTimeOptions = ShowTimeOptions.MinutesSeconds) { var secondsInMinute = 60; var secondsInHour = 60 * secondsInMinute; var secondsInDay = 24 * secondsInHour; var daysOnly = seconds / secondsInDay; var secondsWithoutDays = seconds - (daysOnly * secondsInDay); var hoursOnly = secondsWithoutDays / secondsInHour; var secondsWithoutHours = secondsWithoutDays - (hoursOnly * secondsInHour); var minutesOnly = secondsWithoutHours / secondsInMinute; var secondsOnly = secondsWithoutHours - (minutesOnly * secondsInMinute); string res; if (daysOnly > 0) { res = daysOnly + "d" + hoursOnly + ":" + MakeTwoDigits(minutesOnly) + ":" + MakeTwoDigits(secondsOnly); } else if (showTimeOptions == ShowTimeOptions.HoursMinutesSeconds || hoursOnly > 0) { res = hoursOnly + ":" + MakeTwoDigits(minutesOnly) + ":" + MakeTwoDigits(secondsOnly); } else if (showTimeOptions == ShowTimeOptions.MinutesSeconds || minutesOnly > 0) { res = minutesOnly + ":" + MakeTwoDigits(secondsOnly); } else { res = secondsOnly.ToString(); } return(res); }
public static string GetShortForm(this TimeSpan timeSpan, ShowTimeOptions showTimeOptions = ShowTimeOptions.MinutesSeconds) { return(GetShortFormFromSeconds((int)timeSpan.TotalSeconds, showTimeOptions)); }