예제 #1
0
        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);
        }
예제 #2
0
 public static string GetShortForm(this TimeSpan timeSpan, ShowTimeOptions showTimeOptions = ShowTimeOptions.MinutesSeconds)
 {
     return(GetShortFormFromSeconds((int)timeSpan.TotalSeconds, showTimeOptions));
 }