MSDN says:
我尝试了以下方法:
TimeSpan.ParseExact("-0700", @"\-hhmm", null, TimeSpanStyles.None)
但是,它返回07:00:00。并失败为“0700”。
如果我尝试:
TimeSpan.ParseExact("-0700", "hhmm", null, TimeSpanStyles.None)
它也失败了。
TimeSpan.ParseExact("0700", new string [] { "hhmm", @"\-hhmm" }, null, TimeSpanStyles.None)
对于“0700”和“-0700”均不会失败,但始终返回正数07:00:00。
应该如何使用?
最佳答案
似乎不支持此功能。在custom TimeSpan format strings页面上:
不过,这似乎确实很奇怪。 ck
如我的评论中所述,您可以为此使用Noda Time项目的 Duration
parsing。仅在这种情况下过大,但是如果您在项目中还有其他日期/时间工作,它可能会很有用。
例如:
var pattern = DurationPattern.CreateWithInvariantCulture("-hhmm");
var timeSpan = pattern.Parse("-0700").Value.ToTimeSpan();