TimeSpan.Parse精确的负时间

本文关键字:时间 Parse TimeSpan | 更新日期: 2023-09-27 17:59:40

我正试图用c#TimeSpan使用以下示例行来解析正时间和负时间的混合:

TimeSpan.TryParseExact("-4:-41:-4.102276", @"['-]H':['-]m':['-]s.ffffff", enUS, out time)

不幸的是,这并没有返回任何有用的东西。它只是失败并将time设置为0:0:00

帮助?

TimeSpan.Parse精确的负时间

如果"负"值总是在每个组件之前有-,则可以查找符号并使用两种不同的格式字符串:

TimeSpan ts;
string s = "-4:-41:-4.102276";
if(s.StartsWith("-"))
    ts = -TimeSpan.ParseExact(s, @"'-h':'-m':'-s'.ffffff", enUS);
else
    ts = TimeSpan.ParseExact(s, @"h':m':s'.ffffff", enUS);