Description
A Timestamp MUST be formatted according to ISO 8601.
A Timestamp SHOULD* be expressed using the format described in RFC 3339, which is a profile of ISO 8601.
ISO 8601 forbids an offset of -00
, RFC 3339
treats it as a valid representation of Z
(UTC)
An offset of zero, in addition to having the special representation "Z", can also be stated numerically as "+00:00", "+0000", or "+00". However, it is not permitted to state it numerically with a negative sign, as "−00:00", "−0000", or "−00". The section dictating sign usage (section 3.4.2 in the 2004 edition of the standard) states that a plus sign must be used for a positive or zero value, and a minus sign for a negative value. Contrary to this rule, RFC 3339, which is otherwise a profile of ISO 8601, permits the use of "-00", with the same denotation as "+00" but a differing connotation
Since these are stated as separate requirements, I'd expect the LRS to validate that the timestamp is valid ISO 8601
and also valid RFC 3339
, that is, the RFC 3339
SHOULD*
would not be read to allow the negative zero offset. I suggest we add clarification to that effect, and then add a conformance test to reject a timestamp with a -00
offset.