【问题标题】:Cast String to TimeSpan将字符串转换为 TimeSpan
【发布时间】:2009-12-09 15:06:57
【问题描述】:

我尝试将字符串解析为 TimeSpan,如下所示:

    Dim dt As DateTime = DateTime.Now
    Dim timeCheckin As String = Format(dt, "HH:MM:FF")
    ts = TimeSpan.Parse(timeCheckin)

它抛出了这样的错误:

System.OverflowException:无法解析 TimeSpan,因为小时、分钟或秒组件中至少有一个超出其有效范围。

谁能给我一个建议?谢谢。

【问题讨论】:

    标签: vb.net string


    【解决方案1】:

    TimeSpan.Parse 的参数格式必须为hh:mm:ss,而不是hh:mm:ff

    格式为[ws][-][d.]hh:mm:ss[.ff][ws]

    hh:mm:ss为必填项,其他为选填项

    Dim timeCheckin As String = Format(dt, "HH:mm:ss")
    ts = TimeSpan.Parse(timeCheckin)
    

    【讨论】:

    • 在 TimeSpan.Parse 之后放置一个断点并调查 ts 变量。它具有所有属性 - 分钟、小时等...您会发现 ts 是否具有正确的值
    • 抱歉给您添麻烦了。谢谢。
    • MM 是几个月。您需要小写 mm 分钟。
    【解决方案2】:

    你真的要解析hours, months and fractions of seconds吗?

    您的格式字符串可能应该类似于 HH:mm:ss

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多