Skip to content
ptrb edited this page May 28, 2013 · 3 revisions

The PostTIME syntax allows an unambigous and straightforward textual representation of the various temporal objects and reference systems. The fundamental concept is, that the representation of an instance depends, in a manner of speaking, on the used reference system type.

Therefore there are three different ways a single instant is denoted, one for each reference system type:

With a calendar system, the extended format from ISO 8601 is used.

Example: 2038-01-19T03:14:08.000

On the contrary, an instant object that is using a temporal coordinate system is fully specified with a single floating point number.

Example: 2147483648.000000

Within an ordinal system there can be any character string applied that is agreed to be used as an instance-key.

Example: medieval

To specify which system the instance is using, a key is used in the fashion of EPSG or SRID codes with the spatial reference systems. Any PostTIME-object's textual representation starts with such a key, excepting suchlike that are making use of the gregorian calendar because this is the default system. The key's first three characters specify the system's type like the following:

Calendar systems: CAL

Temporal coordinate systems: TCS

Ordinal systems: ORD

This part is followed by a three-digit number that defines the instance of the used system, so e.g. the UNIX-time key is 'TCS002'

A period is easily defined by connecting two instants with a slash, so you can use this ISO 8601 element with any system.

Examples:

CAL0022028-01-19T03:14:08.000/2028-01-19T03:14:08.000

TCS0022147483648.000000/2147483649.000000

PostTIME's short-form-agreement makes a period from a year, month, or day input, representing the whole entity. If the input is for example '2013', this will be transformed to CAL0012013-01-01T00:00:00.000Z/2014-01-01T00:00:00.000Z.

To represent a MultiInstant or MultiPeriod just separat the single primitives with a comma like:

CAL0022028-01-19T03:14:08.000,2028-01-19T03:14:08.000

The RegularObjects are defined with a repetition number. This element is taken over from ISO 8601, it is the character R followed by an integer number which specifies how many times the object will recur. After this element the start instant is defined, before and after separated by a slash. For a RegularMultiInstant a ISO 8601 duration string is following, which specifies the duration between the single occurences.

Example: CAL002/R4/2028-01-19T03:14:08.000/P1Y

Using a temporal coordinate system, there is not an ISO 8601 duration string used, but a 'P' followed by a floating point number which defines the corresponding duration in the system's unit.

Example: TCS002R4/2147483648.000000/P1.5

To define a RegularMultiPeriod you have to state another duration. The first one will be the duration of each occurence, the second the duration between the occurences.

Examples: CAL002/R4/2028-01-19T03:14:08.000/P1Y/P4Y

TCS002R4/2147483648.000000/P0.5/P1.5

| CAL -----|-----|-----|----- TM_Instant | CAL0012013-05-27T15:00:00.000 TM_Period | CAL0012013-05-27T08:00:00.000/2013-05-27T17:00:00.000 MultiInstant | CAL0012013-05-27T08:00:00.000,2013-05-27T17:00:00.000 MultiPeriod | CAL0012013-05-27T08:00:00.000/2013-05-27T17:00:00.000,2013-05-28T08:00:00.000/2013-05-28T17:00:00.000 RegularMultiInstant | CAL001R20/2013-05-27T08:00:00.000/PT1H RegularMultiPerid | CAL001R52/2013-05-27T08:00:00.000/PT8H/P6DT16H

| TCS ---|---- TM_Instant | TCS0021369666800.000000 TM_Period | TCS0021369641600.000000/1369674000.000000 MultiInstant | TCS0021369641600.000000,1369674000.000000 MultiPeriod | TCS0021369641600.000000/1369674000.000000,1369728000.000000/1369760400.000000
RegularMultiInstant | TCS002R20/1369641600.000000/P3600 RegularMultiPerid | TCS002R52/1369641600.000000/P28800/P576000

| ORD ---|---- TM_Instant | ORD001Proterozoic TM_Period | ORD001Triassic/Quaternary MultiInstant | ORD001Triassic,Quaternary MultiPeriod | ORD001Ediacaran/Neoproterozoic,Triassic/Quaternary RegularMultiInstant | - RegularMultiPerid | -