2.2.3.12 DateTimeText Record (0x96)

This structure represents attribute or element content.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Value

...

TZ

Value (62 bits): The 62-bit unsigned integer value that specifies the number of 100 nanoseconds that had elapsed since 12:00:00, January 1, 0001. The value can represent time instants in a granularity of 100 nanoseconds until 23:59:59.9999999, December 31, 9999. The value MUST be less than the decimal value 3155378976000000000.

TZ (2 bits): A two-bit unsigned integer that contains TimeZone information. This MUST be 0, 1, or 2.

This structure MUST be interpreted as representing the characters formed by converting the value to a date.

If the hour, minutes, seconds, and fraction of second parts are zero, the date MUST be interpreted as the following characters.

 yyyy-MM-dd

Otherwise, if the fraction of a second part is zero, the date MUST be interpreted as the following characters.

            
 yyyy-MM-ddTHH:mm:ss

Otherwise, the date MUST be interpreted as the following characters.

            
 yyyy-MM-ddTHH:mm:ss.fffffff

where:

  • yyyy is the four-digit representation of the year.

  • MM is the two-digit representation of the month starting at "01".

  • dd is the two-digit representation of the day of the month starting at "01".

  • HH is the two-digit representation of the hour of the day starting at "00".

  • mm is the two-digit representation of the minute of the hour starting at "00".

  • ss is the two-digit representation of the second of the minute starting at "00".

  • fffffff is up to seven digits representing the fraction of the second. There MUST be no trailing zeros.

All other characters are included as shown.

If TZ is one, then the time is in UTC (Coordinated Universal Time), and the date MUST be interpreted as having a trailing character "Z".

If TZ is two, then the time is a local time, and the date MUST be interpreted as having additional characters that indicate the UTC offset. The UTC offset MUST be the time zone offset in which the document is being decoded.

If the UTC offset is positive, the date MUST be interpreted as having the following additional characters.

            
 +HH:mm

If the UTC offset is negative, the date MUST be interpreted as having the following additional characters.

            
 -HH:mm

where:

  • HH is the two-digit representation of the absolute value of the hour UTC offset starting at "00".

  • mm is the two-digit representation of the absolute value of the minute UTC offset starting at "00".

All other characters are included as shown.

If TZ is zero, the time is not specified as either UTC or a local time and nothing further is added.

The interpreted format of a DateTimeText record is [ISO-8601] compliant.