【问题标题】:How do i convert HH:MM:SS into just seconds using C#.net?如何使用 C#.net 将 HH:MM:SS 转换为几秒钟?
【发布时间】:2009-03-25 15:10:37
【问题描述】:

有没有一种简洁的方法来做到这一点,而不是在冒号上进行拆分并将每个部分乘以相关数字来计算秒数?

【问题讨论】:

    标签: c# .net datetime


    【解决方案1】:

    它看起来像一个时间跨度。如此简单地解析文本并获取秒数。

    string time = "00:01:05";
    double seconds = TimeSpan.Parse(time).TotalSeconds;
    

    【讨论】:

      【解决方案2】:

      您可以在 aTimeSpan 上使用 parse 方法。

      http://msdn.microsoft.com/en-us/library/system.timespan.parse.aspx

      TimeSpan ts = TimeSpan.Parse( "10:20:30" );
      double totalSeconds = ts.TotalSeconds;
      

      TotalSeconds 属性返回总秒数,如果您只需要秒数,则使用 seconds 属性

      int seconds = ts.Seconds;
      

      秒返回“30”。 TotalSeconds 返回 10 * 3600 + 20 * 60 + 30

      【讨论】:

        【解决方案3】:

        TimeSpan.Parse() 将解析格式化的字符串。

        所以

        TimeSpan.Parse("03:33:12").TotalSeconds;
        

        【讨论】:

          【解决方案4】:

          此代码允许小时和分钟组件是可选的。例如,

          “30”-> 24 秒
          “1:30”-> 90 秒
          “1:1:30” -> 3690 秒

          int[] ssmmhh = {0,0,0};
          var hhmmss = time.Split(':');
          var reversed = hhmmss.Reverse();
          int i = 0;
          reversed.ToList().ForEach(x=> ssmmhh[i++] = int.Parse(x));                           
          var seconds = (int)(new TimeSpan(ssmmhh[2], ssmmhh[1], ssmmhh[0])).TotalSeconds;  
          

          【讨论】:

            【解决方案5】:
            //Added code to handle invalid strings
            string time = null; //"";//"1:31:00";
            string rv = "0";
            TimeSpan result;
            if(TimeSpan.TryParse(time, out result))
            {
                rv = result.TotalSeconds.ToString();
            }
            retrun rv;
            

            【讨论】:

              猜你喜欢
              • 2020-04-09
              • 2014-09-18
              • 2023-03-14
              • 2018-07-11
              • 1970-01-01
              • 2023-04-10
              • 2015-12-29
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多