|
Example: |
The eventTimeZoneOffset field is not necessary to understand at what moment in time an event occurred. This is because the eventTime field is of type Time, defined in the EPCIS Specification to be a date and time in a time zone independent manner. For example, in the XML binding, the eventTime field is represented as an element of type xsd:dateTime, and the EPCIS Specification further stipulates that the XML must include a time zone specifier. Therefore, the XML for eventTime unambiguously identifies a moment in absolute time, and it is not necessary to consult eventTimeZoneOffset to understand what moment in time that is.
The purpose of eventTimeZoneOffset is to provide additional business context about the event, namely to identify what time zone offset was in effect at the time and place the event was captured. This information may be useful, for example, to determine whether an event took place during business hours, to present the event to a human in a format consistent with local time, and so on.
The local time zone offset information is not necessarily available from eventTime, because there is no requirement that the time zone specifier in the XML representation of eventTime be the local time zone offset where the event was captured. For example, an event taking place at 8:00am US Eastern Standard Time could have an XML eventTime field that is written 08:00-05:00 (using US Eastern Standard Time), or 13:00Z (using UTC), or even 07:00-06:00 (using US Central Standard Time). Moreover, XML processors are not required by [XSD2] to retain and present to applications the time zone specifier that was part of the xsd:dateTime field, and so the time zone specifier in the eventTime field might not be available to applications at all.
Similar considerations would apply for other (non-XML) bindings of the Core Event Types module. For example, a hypothetical binary binding might represent Time values as a millisecond offset relative to midnight UTC on January 1, 1970 again, unambiguously identifying a moment in absolute time, but not providing any information about the local time zone.
For these reasons, eventTimeZoneOffset is provided as an additional event field. |
|
|