如何使用C#以大于24小时的时间格式从字符串中获取总秒数

Ram*_*mar 2 c# datetime c#-4.0

我需要以大于24小时的时间跨度格式从字符串中获得总的秒数.下面是我使用过的代码剪辑

static void Main(string[] args)
    {
        string s = "24:55:00.00";
        double d = (int)TimeSpan.Parse(s).TotalSeconds;
        Console.WriteLine(d);            
    }
Run Code Online (Sandbox Code Playgroud)

当我跑到上面得到Exception OverflowException时未处理.当我使用不到24小时的字符串时,比如23:55:05.09.代码工作正常.它是C#的真正限制还是我遗漏了一些东西

谢谢

Kam*_*ski 6

您不能在几小时内使用超过23小时

OverflowException s表示小于TimeSpan.MinValue或大于TimeSpan.MaxValue的数字.- 或 - 至少有一天,小时,分钟或秒组件超出其有效范围.

在MSDN上看到这里

最长时间为23分钟,60分钟等

将您的字符串更改为:

1:0:55:00.00
Run Code Online (Sandbox Code Playgroud)

它将等于24h55m