$N8601Ew.d Informat

Reads ISO 8601 duration, datetime, and interval values that are specified in the extended notation.

Categories: Date and Time
ISO 8601
Alignment: Left
Restriction: UTC time zone offset values are not supported.
Supports: ISO 8601 Element 5.4.4, complete representation

Syntax

$N8601Ew.d

Syntax Description

w

specifies the width of the input field.

Default 50
Range 1–200
Requirement The minimum length for a duration value or a datetime value is 16. The minimum length for an interval value is 16.

d

specifies the number of digits to the right of the decimal point in the seconds value. This argument is optional.

Default 0
Range 0–3

Details

The $N8601E informat reads ISO 8601 duration, interval, and datetime values that can be specified in the following extended notations:
Time Component
ISO 8601 Notation
Example
Duration
Pyyyy-mm-ddThh:mm:ss.fff
P2012-09-15T15:53:00
PnW
P6w
Interval
yyyy-mm-ddThh:mm:ss.fff/yyyy-mm-ddThh:mm:ss.fff
2012-09-15T15:53:00/2014-11-13T00:00:00
yyyy-mm-ddThh:mm:ss.fff/PnYnMnDTnHnMns.fffS
2012-09-15T15:53:00/P2Y10M14DT20H13M45S
Datetime
yyyy-mm-ddThh:mm:ss.fff
2012-09-15T15:53:00
n
specifies a number that represents the number of years, months, or days.
P
is the character that is used to indicate that the duration that follows is specified by the number of years, months, days, hours, minutes, and seconds.
W
is the character that is used to designate that the duration is specified in weeks.
T
is the character that is used to designate that a time value follows. If all time values are 0, T is not required.
/
in an interval, is used to separate the beginning and ending datetime values.
yyyy
specifies a four-digit year.
mm
specifies a two-digit month between 01 and 12.
dd
specifies a two-digit day between 01 and 31.
hh
specifies a two-digit hour between 00 and 23.
mm
specifies a two-digit minute between 00 and 59.
ss
specifies a two-digit second between 00 and 59.
fff
specifies an optional fraction of a second with a precision of up to three digits, where each digit is between 0 and 9.
Y
is the character that is used to designate years in a duration.
M
is the character that is used to designate months in a duration.
D
is the character that is used to designate days in a duration.
H
is the character that is used to designate hours in a duration.
M
is the character that is used to designate minutes in a duration.
S
is the character that is used to designate seconds in a duration.

Comparisons

The $N8601E informat reads valid durations, intervals, and datetimes that are specified only in the extended notation.
The $N8601B informat reads valid durations, intervals, and datetimes that are specified in either the basic or extended notation.
Use the $N8601E informat when you need to ensure compliance with the extended notation.

Example

input @1 i860 $n8601e.;
Data Line
Result
p0002-04-05t5:1:12s
0002405050112FFC
2012-09-15T15:53:00/2014-09-15T00:00:00
2012915155300FFD2014915000000FFD
p0033-01-04T3:2:55/2012-09-15T15:53:00
0033104030255FFC2012915155300FFD