我尝试使用此示例行解析c#TimeSpan
的正面和负面时间组合:
TimeSpan.TryParseExact("-4:-41:-4.102276", @"[\-]H\:[\-]m\:[\-]s.ffffff", enUS, out time)
不幸的是,这并没有任何有用的东西。它刚刚失败,并将time
设置为0:0:00
帮助?
答案 0 :(得分:2)
如果“负”值始终在每个组件之前都有-
,您可以查找该符号并使用两种不同的格式字符串:
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);