DateTime time = DateTime.ParseExact("946AM", "hmmtt", CultureInfo.InvariantCulture);
这里有什么不对吗?我尝试了几种不同的格式变体,但这是我期望的。
由于
答案 0 :(得分:2)
documentation for ParseExact
在备注部分中包含以下注释:
如果 format 是不包含日期或时间分隔符的自定义格式模式(例如" yyyyMMdd HHmm"),请使用提供程序参数的不变文化和最宽的每个自定义格式说明符的形式。例如,如果要在格式模式中指定小时数,请指定更宽的形式," HH"而不是更窄的形式," H"。
你确实缺少分隔符。更糟糕的是,您的数据至少使用了一个可变宽度字段 - 您可能需要自己编写一些解析逻辑,或者至少在将数据传递给ParseExact