Reference: Timestamp format

IMS Database Recovery Facility applies additional syntax rules to the standard DBRC timestamp syntax.

General format rules for the timestamp and time zone offset

For more complete information about the formats that are recognizable to IMS Database Recovery Control (DBRC), refer to the topics about DBRC timestamps in the IMS Database Recovery Control (DBRC) Guide and Reference.

  • The format of the timestamp value is expressed as either compressed or punctuated.
  • Timestamps should always be enclosed within single quotation marks ( ' ).
    Note: Compressed timestamps containing no spaces are accepted without quotes.
  • In the punctuated timestamp format, the delimiter character ( | ) can be any non-alphanumeric character (including blank) with the exception of the single quotation mark ( ' ).
  • Alphabetic characters (A-Z) can not be used as field delimiters in a timestamp.
  • The first alphabetic character encountered in a timestamp determines the first character of a symbolic time zone offset (for example: EST, PST, ABC, etc.).
  • A blank space must precede a symbolic time zone offset in both punctuated and compressed timestamp formats.
  • The occurrence of the plus (+) or minus (–) character is considered the start of a numeric time zone offset.
  • A blank space is not required to precede a numeric time zone offset in both punctuated and compressed timestamp formats.

Punctuated timestamp format

In the following timestamp format, the use of brackets [ ] indicates that the value contained in the brackets is optional.

Punctuated timestamps follow this format:
'[yy]yy|ddd|hh|mm|ss|thmiju [offset]'

Compressed timestamp format

In the following timestamp format, the use of brackets [ ] indicates that the value contained in the brackets is optional.

Compressed timestamps follow this format:
'yydddhhmmssthmiju [offset]'

Timestamp specification reference

[yy]yy
The year specification (1978 – 9999).

You can abbreviate the year to yy, specifying only the last two digits of the year. For example, 2020 and 20 are equivalent values.

Note: Compressed timestamps only accept the two digit year format.
ddd
The day specification (001 – 366).
hh
The hour specification (0-23).
mm
The minute specification (0-59).
ss
The second specification (0-59).
thmiju
The specification (known as precision) down to the millionth of a second (000000 – 999999)

t (ten), h (hundred), m (1 thousand), i (10 thousand), j (100 thousand), u (1 million)

offset
  • Offset is an optional specification and represents a value that, when added to (or subtracted from) UTC (Coordinated Universal Time), provides local time.
  • Offset can be specified as a numeric value in the form (punctuated and compressed):
    ±h[h[:mm]]
    ±h[h[mm]]

    h[h] is a numeric value from 0 to 14, representing UTC time zones east or west of Greenwich, England. (Although the normal time zones east and west of Greenwich are ±12 hours, there are actually a few time zones on the earth that are 13 and 14 hour zones.)

    mm is a numeric value from the set {00, 15, 30, 45}.

    Note: For the compressed timestamp format, if you specify mm, then you must also specify h[h].
  • Offset can also be specified as a predefined symbolic string that represents the required offset value.

    The symbolic offset string and value must be previously defined to the RECON data sets using the following command:

    CHANGE.RECON TIMEZONE(NNNNN, offset)

    For example (first the defining RECON command, and then its usage in a punctuated timestamp):

    CHANGE.RECON TIMEZONE(ABC, +11:45)
    '2020 045 16.24.45.7 ABC'

    To represent the symbolic offset string, you can use any set of characters that is meaningful for your usage - such as GMT (Greenwich Mean Time), PDT (Pacific Daylight Time), EST (Eastern Standard Time), ABC (see the example), or even XYZ.

    The symbolic offset string (ABC in the example) has a limit of 5 characters.

    For a further description of symbolic time zone offsets, see the TIMEZONE keyword under the CHANGE.RECON command in IMS Commands: IMS Component and Z/OS Commands user documentation.

Timestamp examples

Here are 7 examples of valid punctuated timestamps:

'20.252/08:24:45.712345' 
'20.252 08:24:45.712 –8' 
'20/252/08.24.45.71 –8:00' 
'20/252/08.24.45.71–8:00' 
'2020 252 16.24.45.7 +0'
'2020 252 16.24.45.7'
'2020 045 16.24.45.7 ABC'  

Here are 4 examples of valid compressed timestamps:

'20252082445712345' 
'20252082445712–0800'
'202521624457+0'
'202521624457 ABC'

Timestamp technical notes:

  • The precision level specified on the timestamp is used by DBRC to locate information in the RECON.

    The precision level can range from a tenth of a second to a microsecond, or 1 to 6 digits to the right of the decimal point. This is sometimes called precision 1 to 6.

    Precision 6 is known as full precision. DBRC uses full precision (precision 6).

  • The timestamp you specify is converted into Coordinated Universal Time (UTC), which is used internally by IMS and DBRC to store all timestamps.

    The format of the external timestamp that you specify provides a more user-readable format.

  • If a timestamp does not contain an offset, it is assumed to be local time and the offset of the local MVS (the one on which the job executes) is used to calculate the UTC timestamps that are used internally.
  • If you need to recover to a time prior to a seasonal time change, take care when specifying the timestamp to ensure that the correct results are obtained. In these cases, you must specify the offset that is associated with the time period being recovered to.

    For example, if daylight savings time went into effect today and you are in the Pacific Time zone, the offset for calculating UTC time yesterday would have been -8 hours. Today, since daylight savings time is in effect, the offset is now -7 hours.

    In this example, in order to recover to the correct point in time (yesterday), you must use -8 hours as the offset value in the timestamp.