无法识别C#ParseExact TimeSpan
我有一个简单的arrayData字符串,我正在尝试运行TimeSpan.ParseExact,但遇到了无效的格式错误。就我的一生而言,我不知道我做错了什么,这让我发疯无法识别C#ParseExact TimeSpan,c#,timespan,C#,Timespan,我有一个简单的arrayData字符串,我正在尝试运行TimeSpan.ParseExact,但遇到了无效的格式错误。就我的一生而言,我不知道我做错了什么,这让我发疯 string arrayData = "00:02:02.4000000"; string[] formats = new string[] { @"s\.f", @"ss\.f", @"ss\.ff", @"m\:ss\.f", @"m\:ss\.ff", @"mm\:ss\.ff", @"hh\:m
string arrayData = "00:02:02.4000000";
string[] formats = new string[] {
@"s\.f",
@"ss\.f",
@"ss\.ff",
@"m\:ss\.f",
@"m\:ss\.ff",
@"mm\:ss\.ff",
@"hh\:mm\:ss\.ff",
@"dd\.hh\:mm\:ss"
};
CultureInfo culture = new CultureInfo("en-US");
TimeSpan _timeSpan = TimeSpan.ParseExact(arrayData, formats, culture.NumberFormat);
使用
ParseExact
,您需要指定确切的格式。在您的例子中,您需要考虑七个小数秒数字,而不仅仅是两个
string arrayData = "00:02:02.4000000";
string[] formats = new string[] {
@"s\.f",
@"ss\.f",
@"ss\.ff",
/* ... */
@"hh\:mm\:ss\.fffffff" // <- missing format
};
TimeSpan _timeSpan = TimeSpan.ParseExact(arrayData, formats, CultureInfo.InvariantCulture);
string arrayData=“00:02:02.4000000”;
字符串[]格式=新字符串[]{
@“s\.f”,
@“ss\.f”,
@“ss\.ff”,
/* ... */
@“hh \:mm \:ss\.fffffffff”//您是否应该尝试区域性。DateTimeFormat?格式字符串是否需要%符号(%m,%h等)?使用“c”,,,,,,,,,,,,作为格式说明符,Timespan的格式字符串与dates@adelphus不,它们不允许。允许指定%
来消除歧义,但它们不要求这样做。