【发布时间】:2020-09-07 20:30:58
【问题描述】:
对于RFC3339 standard 中允许的时间分隔符/指示符,我感到很困惑。时间分隔符是指在日期和时间之间划定界限的字符序列。
标准规定in section 5.6 不同的东西不清楚或相互冲突。首先,它说完整日期时间的生产规则是这样的:
date-time = full-date "T" full-time
表示日期和时间之间的分隔符是大写的T。紧随其后的是:
NOTE: Per [ABNF] and ISO8601, the "T" and "Z" characters in this
syntax may alternatively be lower case "t" or "z" respectively
意思是大写的T可能是小写的t。它与 ABNF 冲突,但好吧,在我看来,它仍然在合理的范围内。然后声明如下
NOTE: ISO 8601 defines date and time separated by "T".
Applications using this syntax may choose, for the sake of
readability, to specify a full-date and full-time separated by
(say) a space character.
这非常令人困惑。这是否不仅允许空格字符,还允许任何内容?这就是say 所暗示的。还是this syntax 引用了 ISO8601 并不必要地描述了其他标准的细节?
换句话说,以下是有效的 RFC3339 字符串吗?
2020-09-07 20:26:03.623359300+02:002020-09-07hey johnny20:26:03.623359300+02:002020-09-07????20:26:03.623359300+02:00
【问题讨论】:
标签: rfc3339