ocsf-schema
ocsf-schema copied to clipboard
Confusion about timestamp_t
The definition of timestamp_t
is
The nominal data type for these attributes is timestamp_t based on Unix time or number of milliseconds since the Unix epoch.
Unfortunately, there are multiple interpretations
- People who check the definition of Unix Time read "Unix Time is currently defined as the number of non-leap seconds which have passed since 00:00:00 UTC on Thursday, 1 January 1970" so they interpret the time as seconds or milliseconds since epoch
- Some people take the "or number of milliseconds since the Unix epoch" as clarification of the Unix Time part so they interpret is as milliseconds since epoch
- Some people (minority) read the Wiki page even further to "..values are sometimes stored with higher granularity, such as microseconds or nanoseconds" and interpret the allowed values as seconds, milliseconds, microseconds or nanoseconds
Can you please reformulate it so it's clear what is meant. (Preferably just milliseconds should be allowed.)
There is one more thing that is not clear to us regarding the "The Date/Time profile when applied adds a sibling attribute of data type datetime_t". Does it imply that if datetime_t
field is produced by the producer, the sibling timestamp_t
field has to be produced too? To me it feels like it should be so, but it's not explicitly stated anywhere.