计算特定时间格式的总秒数

时间:2010-01-12 10:04:06

标签: c# asp.net

如何在asp.net c#

中计算 '33小时40分40秒的总秒数

4 个答案:

答案 0 :(得分:14)

new TimeSpan(33, 40, 40).TotalSeconds;

答案 1 :(得分:5)

如果您获得格式为"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个匹配项,匹配项是分钟和秒的有效值等。

答案 2 :(得分:2)

分开小时,分钟和秒钟,然后使用

<强> 被修改

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;

阅读TimeSpan.TotalSeconds Property

答案 3 :(得分:0)

试试这个 -

    // 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;

    }