我希望能够解析时间字符串(小时、分钟、秒),其中小时从 0 到 23,并且前面的零表示一位数小时是可选的。
我希望能够解析为有效对象的时间字符串示例:DateTime
- 212540
- 061525
- 94505
我正在尝试使用 C# 方法DateTime.ParseExact来管理解析,但我无法在它的生命周期内想出一个格式字符串来处理“没有前零的个位数小时”场景。
我应该如何指定DateTime.ParseExact
格式字符串以使用同一行代码充分解析上面的所有示例?
受自定义日期和时间格式的 MSDN 页面的启发,我尝试了以下方法:
DateTime.ParseExact(time_string, "Hmmss", CultureInfo.InvariantCulture);
DateTime.ParseExact(time_string, "%Hmmss", CultureInfo.InvariantCulture);
DateTime.ParseExact(time_string, "HHmmss", CultureInfo.InvariantCulture);
所有这些格式字符串都适用于上面的前两个示例情况,但是面对一个个位数的小时并且前面没有零,所有公式都会抛出一个FormatException
.