.NET C#:特定格式字符串转DateTime对象报错,求排查解决
DateTime.ParseExact转换失败问题排查
你的问题出在格式字符串里的at没有作为字面量处理。ParseExact会将未转义的字母识别为日期格式符,而at里的a会被解析为AM/PM的标识,和后面的tt冲突,导致格式不匹配报错。
修正后的代码如下:
string format = "MMM d, yyyy 'at' h:mm tt"; CultureInfo culture = new CultureInfo("en-US"); DateTime dt = DateTime.ParseExact(dtAsString, format, culture);
只需要把at用单引号包裹,告诉解析器这部分是固定文本,不需要作为格式符解析,就能正常转换你提供的日期字符串了。
内容的提问来源于stack exchange,提问作者patsy2k
相关产品推荐
相关产品推荐

