【发布时间】:2022-02-01 18:22:14
【问题描述】:
我需要在c#中将Parse以下字符串作为DateTime:
"22-FEB-21 09.52.41.256898000 AM"
我尝试了以下方法,但它抛出异常:
DateTime.ParseExact(
"22-FEB-21 09.52.41.256898000 AM",
"DD-MON-YY HH.mm.ss.ff AM",
CultureInfo.InvariantCulture);
抛出的异常是
字符串未被识别为有效的日期时间。
【问题讨论】:
-
为什么毫秒只有两个ff?
-
"字符串未被识别为有效的日期时间。"
-
不是 MMM 而不是 MON
-
d-MMM-yy h.m.s.ffffff'000' tt -
您是如何从 Oracle 中获取日期的?因为 ADO.Net 首先应该返回一个 DateTime 对象,这意味着您可能有代码(可能在库中)做额外的工作来将其转换为字符串,您现在必须将其转换 back 到 DateTime... 由于本地化问题,这是数据层中一些最昂贵的代码,您现在运行的次数比您需要的多 两倍。
标签: c# datetime type-conversion