似乎 C# 无法以有效的 RFC 3339 格式解析时间:
DateTime.ParseExact("2019-12-31T00:00:00.123456789+01:00", "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffffzzz", null)
此行引发异常,而此行工作正常:
DateTime.ParseExact("2019-12-31T00:00:00.1234567+01:00", "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz", null)
所以似乎毫秒有限制,但我找不到任何相关文档。这是应该的吗?
想要解析这个日期的原因是我有一个输入日期字段。我们使用 OAS (Swagger)date-time
格式,它非常清楚地表明 RFC 3339 Internet 日期/时间格式中的任何日期都应该是有效的。现在从这里的规范第 5.6 节
time-secfrac = "." 1*DIGIT
据我了解,这意味着应该允许最多 9 位数字并且要 100% 兼容,我们必须允许这些输入,但 C# 似乎甚至不支持这一点。
关于如何解决它的任何想法?