http://en.wikipedia.org/wiki/ISO_8601#Durations
目前尚不清楚ISO 8601持续时间中零的最正确表示是什么。
可能的候选人:
PT0S
本网站: http://www.ostyn.com/standards/scorm/samples/ISOTimeForSCORM.htm 说
PT0H0M0S
或者最简单的可能是
P
但最正确的是什么?是否存在规范的零持续时间表示?
答案 0 :(得分:6)
单个字母" P"肯定是错的,因为必须至少有一个持续时间元素。
SCORM规范要求" PT0H0M0S"只是因为与早期的SCORM版本向后兼容,而不是因为ISO强制要求它。引用你给出的链接:
SCORM 2004 1.3.1一致性测试套件编码为要求PT0H0M0S格式为总尝试的初始零值 时间;因此,建议在兼容性方面使用该格式 需要早期实施SCORM 2004。
因此,如果您不使用SCORM,那么表达式" PT0S"完全足够了。但是,我不记得原始ISO-8601论文中的任何位置,他们已经指定了零持续时间的样子。相反,ISO-8601还描述了替代的持续时间格式,如" P0000-00-00T00:00"。
如果我们解释单词" canonical"那么,不仅有一个单一的规范表示。 as"符合ISO-8601"。
ISO-8601要求零持续时间至少有一个元素(4.4.3.2.c - 第21页):
如果是年数,月数,日数,小时数,分钟数或秒数 这些表达式等于零,数字和相应的 指定人可能缺席;但是,至少有一个数字及其数字 指定人员应在场。
第4.4.3.3段说:
表达式在表达式中的完整表示 替代格式如下:
基本格式:PYYYYMMDDThhmmss或PYYYYDDDThhmmss
扩展格式:PYYYY-MM-DDThh:mm:ss或PYYYY-DDDThh:mm:ss
请记住,并非每个软件都能支持所有格式变化。