【发布时间】:2019-03-06 14:11:24
【问题描述】:
我有从传入 API 调用获得的日期:Wed, 6 Mar 2019 14:39:49 +0300
我需要将此字符串解析为 DateTime。为此,我使用以下代码:
DateTime.ParseExact("Wed, 6 Mar 2019 14:39:49 +0300",
new string[] { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
但结果我有错误:
字符串 'Wed, 6 Mar 2019 14:39:49 +0300' 未被识别为有效 日期时间。
我做错了什么?我该如何解决这个问题?
【问题讨论】:
-
似乎问题在于单个数字 (6) 与
dd模式不匹配。 “06”应该可以工作 -
'Long date format' 不适合 API,最好使用 ISO8601 格式,这与语言无关。如果您的代码在非英语语言环境中运行,那么它将无法正确解析。如果您对 API 有任何控制权,我建议您修复它。
-
仅供参考:与您的问题没有直接关系,但如果您只想使用/提供单个日期格式字符串,则不需要使用字符串数组...