C# TimeSpan.ParseExact负时间
我正试图用c#C# TimeSpan.ParseExact负时间,c#,parsing,timespan,negative-number,C#,Parsing,Timespan,Negative Number,我正试图用c#TimeSpan来解析正负时间的混合,使用以下示例行: TimeSpan.TryParseExact("-4:-41:-4.102276", @"[\-]H\:[\-]m\:[\-]s.ffffff", enUS, out time) 不幸的是,这没有返回任何有用的信息。它只是失败并将时间设置为0:0:00 帮助?如果“负值”值在每个组件前面总是有-,您可以查找符号并使用两种不同的格式字符串: TimeSpan ts; string s = "-4:-41:-4.102276";
TimeSpan
来解析正负时间的混合,使用以下示例行:
TimeSpan.TryParseExact("-4:-41:-4.102276", @"[\-]H\:[\-]m\:[\-]s.ffffff", enUS, out time)
不幸的是,这没有返回任何有用的信息。它只是失败并将时间设置为0:0:00
帮助?如果“负值”值在每个组件前面总是有-
,您可以查找符号并使用两种不同的格式字符串:
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);
-4:-41
与-4:41
有何不同?-4:-41
是否表示-3:19
?在什么上下文中?你到底想解决什么问题?没有消极的时间跨度;时间跨度就是时间跨度。4分钟和负4分钟有什么区别?@AntP嗯,-4:41:4.102276
是有意义的,不能用标准方法解析。但每一部分都有否定的符号。。。从未见过这种情况。@AntP-有负时间跨度这样的东西-请参见timespan.MinValue
和timespan.Duration
@Ulugbek我无法格式化时间戳。它是由一个外部程序生成的,非常简单。我要了。谢谢我认为您在第二条解析语句中意外地留下了额外的转义字符。