A Time may either be a M-Transaction, a H-Time followed by a plus indicating the first transaction since the specified time, or a minus indicating the first transaction before the specifiied time, a now indicating the current time, or begining indicating the beginning of time.
A Time range consists of two times where the left most time was before the right most time. The actual time covered is inclusive. A H-Time includes all events that are resolvable during that time interval (limited to 1 second by the specification, but implementations may chose a corser time resolution). Since H-Times are inclusive + and - are unnecessary and illegal.
M-Transaction -> "m" *(A)
Machine dependent transaction identifier code. These codes must be issued in ascending order. They consist of an 'm' followed by a string consisting of the following characters "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_". The digits are ordered as stated previously from left to right (i.e. "0" < "A" < "Z" < "_"). If two strings are of different lengths the longer string is greater than the shorter string (i.e. "" < "_" < "00"). Note that lowercase characters are illegal. Servers should avoid M-Transactions of over 40 characters in length.
Ex:
"m2916", "m13210", "m0008EF09", and "m00005437_04_APR_1999_12_55_PM"
are valid M-Transactions.
H-Time -> "h" Year "-" Month "-" Day "::" Hour ":" Minute ":" Second
Human readable time format. This format is to be used only for convince to users, clients are responsive to convert local time conventions into H-Time format. The time component will be encoded in 24-hour UTC (Coordinated Universal Time, formerly known as GMT). Clients may convert between this standard and local convention (MM/DD/YYYY and local time zone). No value may be left out, and no white space is allowed. YEAR ranges from 0000-9999 AD, MM ranges between 01-12, DD ranges between 01-31, HH ranges between 00-23, MM ranges between 00-59, and SS ranges between 00-59. Leap seconds should be adjusted to the nearest 'common' time.
Date/time is completely relative, and no assumptions should be made
concerning the accuracy of a server's clock.
The format for freq is similar to H-Time,
but instead of referring to a specific time, it refers to the time interval
between events or updates. "0000-00-01:00:00:00" refers to daily
updates, and "0000-00-00::00:00:00" refers to
instantaneous updates. Also note the format is more lax.
Example- Various valid time and transaction identifiers