TimeSpan.Parse 个字符串,包括天数 dd-hh:mm:ss
TimeSpan.Parse of string including days dd-hh:mm:ss
我要解析的时间跨度是格式dd-hh:mm:ss
Linux 命令的输出是 returns 进程已经 运行.
示例:
string s = "5-15:10:20"; // 5 days 15h 10m 20s
TimeSpan.Parse(s);
这会产生错误
System.FormatException was unhandled
Message="Input string was not in a correct format."
Source="mscorlib"
StackTrace:
at System.TimeSpan.StringParser.Parse(String s)
at System.TimeSpan.Parse(String s)
重要说明:代码要在.net Framework 2.0
中编写
有没有办法让 TimeParse
正确识别第一个日期部分?
编辑:我尝试用 :
替换 -
但它给出了同样的错误。
这对我有用:
TimeSpan.Parse(s.Replace('-', '.'));
这样做:
TimeSpan.ParseExact(s, @"d\-hh\:mm\:ss", null);
有关您可以使用的格式字符串的详细信息,请参阅 the manual。它们与 DateTime 格式字符串略有不同
您的字符串的问题在于字符“-”是一个可选的减号,表示负的 TimeSpan。因此,您必须在解析字符串之前使用 Replace()
方法。
在 this link 上,您可以看到适用于该方法的所有常用字符。为此,类似的东西会起作用:
string s = "5-15:10:20"; // 5 days 15h 10m 20s
TimeSpan.Parse(s.Replace('-', '.'));
我认为“-”肯定是错误的符号。
“-”用于指定负的 TimeSpan
既然您已经尝试过“:”小腿,请尝试使用“。”此时。
“.”是区分日期和时间的官方符号。
我要解析的时间跨度是格式dd-hh:mm:ss
Linux 命令的输出是 returns 进程已经 运行.
示例:
string s = "5-15:10:20"; // 5 days 15h 10m 20s
TimeSpan.Parse(s);
这会产生错误
System.FormatException was unhandled
Message="Input string was not in a correct format."
Source="mscorlib"
StackTrace:
at System.TimeSpan.StringParser.Parse(String s)
at System.TimeSpan.Parse(String s)
重要说明:代码要在.net Framework 2.0
中编写
有没有办法让 TimeParse
正确识别第一个日期部分?
编辑:我尝试用 :
替换 -
但它给出了同样的错误。
这对我有用:
TimeSpan.Parse(s.Replace('-', '.'));
这样做:
TimeSpan.ParseExact(s, @"d\-hh\:mm\:ss", null);
有关您可以使用的格式字符串的详细信息,请参阅 the manual。它们与 DateTime 格式字符串略有不同
您的字符串的问题在于字符“-”是一个可选的减号,表示负的 TimeSpan。因此,您必须在解析字符串之前使用 Replace()
方法。
在 this link 上,您可以看到适用于该方法的所有常用字符。为此,类似的东西会起作用:
string s = "5-15:10:20"; // 5 days 15h 10m 20s
TimeSpan.Parse(s.Replace('-', '.'));
我认为“-”肯定是错误的符号。 “-”用于指定负的 TimeSpan 既然您已经尝试过“:”小腿,请尝试使用“。”此时。
“.”是区分日期和时间的官方符号。