xCBL的ISO 8601日期时间是否包括短划线?

时间:2014-06-13 16:06:39

标签: datetime iso8601

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

http://www.xcbl.org/xcbl30/SOX/structureref/xCBLref.htm#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都用破折号描述了它。

有人对此有最终决定权吗?我正在开发一个API的应用程序,它已经按照ISO 8601格式“按照xCBL标准”请求了日期时间,但由于定义了各种方式而导致冲突。

2 个答案:

答案 0 :(得分:3)

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

即,the Wikipedia article表示“单个时间点可以通过连接完整的日期表达式,字母T作为分隔符和有效的时间表达式来表示./.../基本或扩展格式可以使用,但日期和时间必须使用相同的格式。“ (粗体格式由我)。这意味着,例如2014-12-05T09:53:48和20141205T095348有效,但2014-12-05T095348和20141205T09:53:48不是。

答案 1 :(得分:1)

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

  

表示可以用两种格式之一完成 - 一种具有最少分隔符的基本格式或一种扩展格式,其中添加了分隔符以增强人类的可读性。标准说明“基本格式应该用明文来避免。“日期值(年,月,周和日)之间使用的分隔符是连字符,而冒号用作时间值(小时,分钟和秒)之间的分隔符。

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

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