Вычисление Общих секунд от конкретного формата времени

Как вычислить общие секунды '40 минут с 33 часами 40 secs' в asp.net c#

5
задан Gone Coding 20 April 2011 в 19:03
поделиться

4 ответа

Если вам дана строка формата "33 hr 40 mins 40 secs", то сначала вы должны разобрать строку.

var s = "33 hr 40 mins 40 secs";
var matches = Regex.Matches(s, "\d+");
var hr = Convert.ToInt32(matches[0]);
var min = Convert.ToInt32(matches[1]);
var sec = Convert.ToInt32(matches[2]);
var totalSec = hr * 3600 + min * 60 + sec;

Этот код, очевидно, не требует проверки на ошибки. Так что, возможно, Вы захотите сделать такие вещи, как убедиться, что найдено 3 совпадения, что совпадения являются действительными значениями для минут и секунд и т.д.

5
ответ дан 18 December 2019 в 07:29
поделиться

Разделите часы, минуты и секунды, а затем используйте

Edited

TimeSpan ts = new TimeSpan(33,40,40);

/* Gets the value of the current TimeSpan structure expressed in whole 
   and fractional seconds. */
double totalSeconds = ts.TotalSeconds;

Read TimeSpan.TotalSeconds Property

2
ответ дан 18 December 2019 в 07:29
поделиться

Попробуйте это -

    // Calculate seconds in string of format "xx hr yy mins zz secs"
    public double TotalSecs(string myTime)
    {
        // Split the string into an array
        string[] myTimeArr = myTime.Split(' ');

        // Calc and return the total seconds
        return new TimeSpan(Convert.ToInt32(myTimeArr[0]),
                            Convert.ToInt32(myTimeArr[2]),
                            Convert.ToInt32(myTimeArr[4])).TotalSeconds;

    }
0
ответ дан 18 December 2019 в 07:29
поделиться
new TimeSpan(33, 40, 40).TotalSeconds;
14
ответ дан 18 December 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: