使用DateTime.ParseExact的短时间

Ale*_*lex 3 .net c# asp.net datetime parsing

我想解析一下.我已经多次看到这个问题/答案,但不是针对这个具体情况.这是我的代码:

var time1 = DateTime.ParseExact("919", "Hmm", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

var time2 = DateTime.ParseExact("919", "Hmm", null);
Run Code Online (Sandbox Code Playgroud)

两者都是一样的

"字符串未被识别为有效的DateTime"

我想要的是9:19 AM.

欲了解更多的信息,我还需要解析“1305”1:05 PM,这是工作的罚款.

在我看来,我正在使用正确的格式.我在俯瞰什么?

Jon*_*eet 10

我不知道有一个可以处理该任何格式.问题是"H"可以是一个数字或两个数字,所以如果有两个数字可用,它将同时抓取两个 - 在这种情况下将其解析为小时91,这显然是无效的.

理想情况下,您可以将格式更改为HHmm- 在适当的位置填充值 - 因此"0919"将解析正常.或者,使用格式的冒号来区分小时和分钟.我不相信有任何方法可以DateTime解析你想要的"919"值...所以你需要在解析它之前以某种方式调整字符串.(我们没有足够的背景来推荐一种特殊的方式.)