xCBL的ISO 8601日期时间是否包含破折号?

日期时间格式的xCBL文档和ISO 8601标准之间似乎有差异。

http://www.xcbl.org/xcbl30/SOX/structureref/xCBLref.htm#datetime

datetime:组合日期和时间。 请注意日期和时间部分之间存在“T”字符,并使用冒号分隔小时,分钟和秒。 这些符合ISO 8601.格式:YYYYMMDDTHH:MM:SS [[+ - ] HH:MM]? (第一个MM是几个月,另外两个是分钟)

http://www.w3.org/TR/NOTE-datetime

格式如下。 这里显示的组件必须存在,正是这个标点符号。 请注意,“T”字面上出现在字符串中,以指示时间元素的开始,如ISO 8601中所规定的。完整日期加上小时,分钟,秒和第二小时的分数YYYY-MM-DDThh:mm: ss.sTZD(例如1997-07-16T19:20:30.45 + 01:00)

http://en.wikipedia.org/wiki/ISO_8601

日期和时间根据ISO 8601:UTC中的组合日期和时间:2014-06-10T13:52:43 + 00:00

正如您在上面的链接中看到的,xCBL标准描述了日期中没有破折号的ISO8601,而维基百科和w3都用破折号描述了它。

有没有人有最后的话呢? 我正在开发一个应用程序,该应用程序以ISO 8601格式请求日期时间“按照xCBL标准”,但由于定义的各种方式而导致冲突。


YYYYMMDDTHH:MM:SS[[+-]HH:MM]在ISO 8601下有效。

表示可以用两种格式之一来完成 - 一种基本格式,最少数量的分隔符或一种扩展格式,并添加分隔符以增强人的可读性。 该标准指出“应该以纯文本避免基本格式”。 在日期值(年,月,周和日)之间使用的分隔符是连字符,而冒号则用作时间值(小时,分钟和秒)之间的分隔符。

这些例子显示了两种情况:例如“YYYY-MM-DD或YYYYMMDD”和“hh:mm:ss或hhmmss”:

ISO 8601涵盖多种有效格式(包括省略组件); 大多数实现都使用限制来简化/统一 - “根据xCBL”的注释对特定格式施加了这种限制。


我无法访问该标准,但维基百科明确指出像YYYYMMDDTHH:MM:SS [[+ - ] HH:MM]这样的格式不是有效的ISO日期 。 如果任何有权访问该标准的人都可以检查它并在评论中确认它,或者修复我的答案和维基百科文章,我将非常高兴。

也就是说,维基百科文章中提到:“单个时间点可以通过连接一个完整的日期表达式,字母T作为分隔符,以及有效的时间表达式来表示。/.../可以使用基本格式或扩展格式,但可以使用日期和时间都必须使用相同的格式 。“ (大胆的格式是由我)。 这意味着例如2014-12-05T09:53:48和20141205T095348是有效的,但2014-12-05T095348和20141205T09:53:48不是。

链接地址: http://www.djcxy.com/p/35113.html

上一篇: Should ISO 8601 datetime for xCBL include dashes or not?

下一篇: Convert date to ISO 8601