使用DateTime.ParseExact()解析"HH:mm:ss"和"H:m:s"次

Kar*_*rim 0 c#

我希望能够使用ParseExact()函数解析以下时间:

01:02:03
1:02:03
1:2:03
1:02:3
01:2:3
1:2:3
Run Code Online (Sandbox Code Playgroud)

是否可能,或者我是否需要进行自己的转换以使其有效?

到目前为止,我只能解析所有前导0或全部没有前导零.我可以使用6格式字符串,但我认为这是非常愚蠢的.

Luk*_*keH 7

使用ParseExact"H:m:s"自定义格式字符串可以完美地适用于您问题中给出的所有示例.

string[] test = { "01:02:03", "1:02:03", "1:2:03", "1:02:3", "01:2:3", "1:2:3" };

foreach (string s in test)
{
    DateTime d = DateTime.ParseExact(s, "H:m:s", null);
    Console.WriteLine(d);
}
Run Code Online (Sandbox Code Playgroud)