Home

Results 1 - 10 of 364,406 for design templates. Search took 10.169 seconds.  
Sort by date/Sort by relevance
The name(s), title(s) and email address(es) for representatives and focal point(s) for all work streams should be transmitted to DOALOS, as soon as possible and no later than 7 September 2020 , using the template below. Focal points for each workstream and other representatives who are designated to participate in the BBNJ intersessional work (please add rows as may be necessary) Name and title(s) of the representative(s) Email address Please indicate by inserting “x” in the box(es) below if the representative concerned is the focal point for one or more of the work streams. (...) The name(s), title(s) and email address(es) for representatives and focal point(s) for all work streams should be transmitted to DOALOS, as soon as possible and no later than 7 September 2020 , using the template below. Focal points for each w orkstream and other representatives who are designated to participate in the BBNJ intersessional work (please add rows as may be necessary) Name and title (s) of the representative (s) Email address Please indicate by inserting “x” in the box(es) below i f the representative concerned is the focal point for one or more of the work streams. (...) The name(s), title(s) and email address(es) for representatives and focal point(s) for all work streams should be transmitted to DOALOS, as soon as possible and no later than 7 September 2020, using the template below. Focal points for each workstream and other representatives who are designated to participate in the BBNJ intersessional work (please add rows as may be necessary) Name and title(s) of the representative(s) Email address Please indicate by inserting “x” in the box(es) below if the representative concerned is the focal point for one or more of the work streams.
Language:English
Score: 1144086.2 - https://www.un.org/bbnj/sites/..._bbnj_insersessional_work.docx
Data Source: un
module ISO8601DateTimePatterns { //========================================================================= // Imports //========================================================================= import from nc all; //========================================================================= // Templates //========================================================================= //============================DATE FORMS================================== //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarBasic := pattern "{nc.yearExpansionOpt}({nc.century}|{nc.year}({nc.month}{nc.dayOfMonth}|" & "{dash}{nc.month})#(,1))"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete and expanded) //* in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.month}{dash}{nc.dayOfMonth}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendar := ( t_ISO8601DateCalendarBasic, t_ISO8601DateCalendarExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinal := ( t_ISO8601DateOrdinalBasic, t_ISO8601DateOrdinalExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.week}{nc.dayOfWeek}#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.week}({dash}{nc.dayOfWeek})#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeek := ( t_ISO8601DateWeekBasic, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateBasic := ( t_ISO8601DateCalendarBasic, t_ISO8601DateOrdinalBasic, t_ISO8601DateWeekBasic ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateExtended := ( t_ISO8601DateCalendarExtended, t_ISO8601DateOrdinalExtended, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 //* //* @desc Matches all date representations (complete, reduced accuracy and //* expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Date := ( t_ISO8601DateBasic, t_ISO8601DateExtended ) //============================TIME-OF-DAY============================ //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference //* between local time and UTC of day ($4.2.5)and the optional time //* designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeBasic := pattern "{nc.optionalT}({nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|60|" & "{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)|{nc.endOfDay})" & "{nc.optZorTimeZone}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeExtended := pattern "{nc.optionalT}({nc.hour}{colon}({nc.minute}({colon}({nc.second}" & "{nc.sFraction}#(,1)|60)|{nc.mFraction})#(,1)|60)|{nc.endOfDayExt})" & "{nc.optZorTimeZoneExt}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic and extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Time := ( t_ISO8601TimeBasic, t_ISO8601TimeExtended ) //============================DATE-TIME FORMATS================================ //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in basic formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeBasic := pattern "{nc.yearExpansionOpt}{nc.year}({nc.month}{nc.dayOfMonth}|{nc.dayOfYear}|" & "{nc.week}{nc.dayOfWeek})T({nc.hour}({nc.minute}({nc.second}" & "{nc.sFraction}#(,1)|60|{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)" & "{nc.optZorTimeZone}|{nc.endOfDay}{nc.optZorTimeZone})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3.3 c) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}({nc.month}{dash}{nc.dayOfMonth}|" & "{nc.dayOfYear}|{nc.week}{dash}{nc.dayOfWeek})T({nc.hour}{colon}" & "({nc.minute}({colon}({nc.second}{nc.sFraction}#(,1)|60)|{nc.mFraction})" & "#(,1)|60){nc.optZorTimeZoneExt}|{nc.endOfDayExt}{nc.optZorTimeZoneExt})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTime := ( t_ISO8601DateTimeBasic, t_ISO8601DateTimeExtended ) //============================DURATION============================ //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing only date components //* and using the format with designators; Both week and caledar dates //* are supported (the alternative format in $4.4.3.3 is excluded: it is //* covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignDate := pattern "P{nc.nums}(Y({nc.nums}(M({nc.nums}(D|{nc.dFraction}D))#(,1)|" & "{nc.dFraction}[MD]|D))#(,1)|{nc.dFraction}[YMDW]|M({nc.nums}" & "(D|{nc.dFraction}D)|{nc.dFraction}D)#(,1)|D|W)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing time components //* only and using the format with designators //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignTime := pattern "PT{nc.nums}(H({nc.nums}(M({nc.nums}(S|{nc.dFraction}S))#(,1)|" & "{nc.dFraction}[MS]|S))#(,1)|{nc.dFraction}[HMS]|M({nc.nums}(S|" & "{nc.dFraction}S)|{nc.dFraction}M)#(,1)|S)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations using the format with designators; //* Both week and caledar dates are supported (the alternative format in //* $4.4.3.3 is excluded: it is covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesign := pattern "P({nc.nums}((Y({nc.nums}(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|" & "{nc.durTime}#(,1))|{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}" & "#(,1))|{nc.dFraction}[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|" & "{nc.dFraction}D)|{nc.dFraction}D|{nc.durTime}#(,1))|D{nc.durTime}#(,1)|" & "W{nc.durTime}#(,1))|{nc.durTime})" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative basic format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeBasic := pattern "P{nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative extended format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeExtended := pattern "P{nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative format; //* both the basic and the extended formats are supported //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternative := ( t_ISO8601DurationAlternativeBasic, t_ISO8601DurationAlternativeExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with //* designators and the alternative representation; in the alternative //* representation only the basic format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001001T000060 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationBasic := pattern "P({nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}(({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1))|({nc.nums}((Y({nc.nums}(M({nc.nums}" & "(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|{nc.dFraction}" & "[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}[YMDW])|" & "M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with designators //* and the alternative representation; in the alternative representation only //* the extended format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationExtended := pattern "P({nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)|({nc.nums}((Y({nc.nums}" & "(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|" & "{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}" & "[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using both formats: with designators //* and the alternative representation; in the alternative representation both //* the basic and the extended formats are allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Duration := ( t_ISO8601DurationBasic, t_ISO8601DurationExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches both complete and reduced accuracy (see note below)time //* interval representations identified by start and end and using the //* basic format //* //* @remark $ 4.4.4.5 is contradictory as allows omitting higher order time //* elements in the part representing end date/time (the expression //* after the solidus), while the time part may also be of reduced //* accuracy (either by omitting the lower order elements or by a //* decimal fraction).
Language:English
Score: 1136472.7 - https://www.itu.int/wftp3/Publ...8601DateTimePatterns.ttcn3.txt
Data Source: un
module ISO8601DateTimePatterns { //========================================================================= // Imports //========================================================================= import from nc all; //========================================================================= // Templates //========================================================================= //============================DATE FORMS================================== //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarBasic := pattern "{nc.yearExpansionOpt}({nc.century}|{nc.year}({nc.month}{nc.dayOfMonth}|" & "{dash}{nc.month})#(,1))"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete and expanded) //* in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.month}{dash}{nc.dayOfMonth}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendar := ( t_ISO8601DateCalendarBasic, t_ISO8601DateCalendarExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinal := ( t_ISO8601DateOrdinalBasic, t_ISO8601DateOrdinalExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.week}{nc.dayOfWeek}#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.week}({dash}{nc.dayOfWeek})#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeek := ( t_ISO8601DateWeekBasic, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateBasic := ( t_ISO8601DateCalendarBasic, t_ISO8601DateOrdinalBasic, t_ISO8601DateWeekBasic ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateExtended := ( t_ISO8601DateCalendarExtended, t_ISO8601DateOrdinalExtended, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 //* //* @desc Matches all date representations (complete, reduced accuracy and //* expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Date := ( t_ISO8601DateBasic, t_ISO8601DateExtended ) //============================TIME-OF-DAY============================ //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference //* between local time and UTC of day ($4.2.5)and the optional time //* designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeBasic := pattern "{nc.optionalT}({nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|60|" & "{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)|{nc.endOfDay})" & "{nc.optZorTimeZone}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeExtended := pattern "{nc.optionalT}({nc.hour}{colon}({nc.minute}({colon}({nc.second}" & "{nc.sFraction}#(,1)|60)|{nc.mFraction})#(,1)|60)|{nc.endOfDayExt})" & "{nc.optZorTimeZoneExt}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic and extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Time := ( t_ISO8601TimeBasic, t_ISO8601TimeExtended ) //============================DATE-TIME FORMATS================================ //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in basic formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeBasic := pattern "{nc.yearExpansionOpt}{nc.year}({nc.month}{nc.dayOfMonth}|{nc.dayOfYear}|" & "{nc.week}{nc.dayOfWeek})T({nc.hour}({nc.minute}({nc.second}" & "{nc.sFraction}#(,1)|60|{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)" & "{nc.optZorTimeZone}|{nc.endOfDay}{nc.optZorTimeZone})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3.3 c) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}({nc.month}{dash}{nc.dayOfMonth}|" & "{nc.dayOfYear}|{nc.week}{dash}{nc.dayOfWeek})T({nc.hour}{colon}" & "({nc.minute}({colon}({nc.second}{nc.sFraction}#(,1)|60)|{nc.mFraction})" & "#(,1)|60){nc.optZorTimeZoneExt}|{nc.endOfDayExt}{nc.optZorTimeZoneExt})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTime := ( t_ISO8601DateTimeBasic, t_ISO8601DateTimeExtended ) //============================DURATION============================ //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing only date components //* and using the format with designators; Both week and caledar dates //* are supported (the alternative format in $4.4.3.3 is excluded: it is //* covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignDate := pattern "P{nc.nums}(Y({nc.nums}(M({nc.nums}(D|{nc.dFraction}D))#(,1)|" & "{nc.dFraction}[MD]|D))#(,1)|{nc.dFraction}[YMDW]|M({nc.nums}" & "(D|{nc.dFraction}D)|{nc.dFraction}D)#(,1)|D|W)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing time components //* only and using the format with designators //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignTime := pattern "PT{nc.nums}(H({nc.nums}(M({nc.nums}(S|{nc.dFraction}S))#(,1)|" & "{nc.dFraction}[MS]|S))#(,1)|{nc.dFraction}[HMS]|M({nc.nums}(S|" & "{nc.dFraction}S)|{nc.dFraction}M)#(,1)|S)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations using the format with designators; //* Both week and caledar dates are supported (the alternative format in //* $4.4.3.3 is excluded: it is covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesign := pattern "P({nc.nums}((Y({nc.nums}(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|" & "{nc.durTime}#(,1))|{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}" & "#(,1))|{nc.dFraction}[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|" & "{nc.dFraction}D)|{nc.dFraction}D|{nc.durTime}#(,1))|D{nc.durTime}#(,1)|" & "W{nc.durTime}#(,1))|{nc.durTime})" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative basic format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeBasic := pattern "P{nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative extended format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeExtended := pattern "P{nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative format; //* both the basic and the extended formats are supported //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternative := ( t_ISO8601DurationAlternativeBasic, t_ISO8601DurationAlternativeExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with //* designators and the alternative representation; in the alternative //* representation only the basic format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001001T000060 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationBasic := pattern "P({nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}(({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1))|({nc.nums}((Y({nc.nums}(M({nc.nums}" & "(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|{nc.dFraction}" & "[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}[YMDW])|" & "M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with designators //* and the alternative representation; in the alternative representation only //* the extended format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationExtended := pattern "P({nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)|({nc.nums}((Y({nc.nums}" & "(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|" & "{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}" & "[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using both formats: with designators //* and the alternative representation; in the alternative representation both //* the basic and the extended formats are allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Duration := ( t_ISO8601DurationBasic, t_ISO8601DurationExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches both complete and reduced accuracy (see note below)time //* interval representations identified by start and end and using the //* basic format //* //* @remark $ 4.4.4.5 is contradictory as allows omitting higher order time //* elements in the part representing end date/time (the expression //* after the solidus), while the time part may also be of reduced //* accuracy (either by omitting the lower order elements or by a //* decimal fraction).
Language:English
Score: 1136472.7 - https://www.itu.int/wftp3/Publ.../ISO8601DateTimePatterns.ttcn3
Data Source: un
module ISO8601DateTimePatterns { //========================================================================= // Imports //========================================================================= import from nc all; //========================================================================= // Templates //========================================================================= //============================DATE FORMS================================== //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarBasic := pattern "{nc.yearExpansionOpt}({nc.century}|{nc.year}({nc.month}{nc.dayOfMonth}|" & "{dash}{nc.month})#(,1))"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete and expanded) //* in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.month}{dash}{nc.dayOfMonth}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendar := ( t_ISO8601DateCalendarBasic, t_ISO8601DateCalendarExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinal := ( t_ISO8601DateOrdinalBasic, t_ISO8601DateOrdinalExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.week}{nc.dayOfWeek}#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.week}({dash}{nc.dayOfWeek})#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeek := ( t_ISO8601DateWeekBasic, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateBasic := ( t_ISO8601DateCalendarBasic, t_ISO8601DateOrdinalBasic, t_ISO8601DateWeekBasic ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateExtended := ( t_ISO8601DateCalendarExtended, t_ISO8601DateOrdinalExtended, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 //* //* @desc Matches all date representations (complete, reduced accuracy and //* expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Date := ( t_ISO8601DateBasic, t_ISO8601DateExtended ) //============================TIME-OF-DAY============================ //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference //* between local time and UTC of day ($4.2.5)and the optional time //* designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeBasic := pattern "{nc.optionalT}({nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|60|" & "{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)|{nc.endOfDay})" & "{nc.optZorTimeZone}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeExtended := pattern "{nc.optionalT}({nc.hour}{colon}({nc.minute}({colon}({nc.second}" & "{nc.sFraction}#(,1)|60)|{nc.mFraction})#(,1)|60)|{nc.endOfDayExt})" & "{nc.optZorTimeZoneExt}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic and extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Time := ( t_ISO8601TimeBasic, t_ISO8601TimeExtended ) //============================DATE-TIME FORMATS================================ //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in basic formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeBasic := pattern "{nc.yearExpansionOpt}{nc.year}({nc.month}{nc.dayOfMonth}|{nc.dayOfYear}|" & "{nc.week}{nc.dayOfWeek})T({nc.hour}({nc.minute}({nc.second}" & "{nc.sFraction}#(,1)|60|{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)" & "{nc.optZorTimeZone}|{nc.endOfDay}{nc.optZorTimeZone})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3.3 c) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}({nc.month}{dash}{nc.dayOfMonth}|" & "{nc.dayOfYear}|{nc.week}{dash}{nc.dayOfWeek})T({nc.hour}{colon}" & "({nc.minute}({colon}({nc.second}{nc.sFraction}#(,1)|60)|{nc.mFraction})" & "#(,1)|60){nc.optZorTimeZoneExt}|{nc.endOfDayExt}{nc.optZorTimeZoneExt})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTime := ( t_ISO8601DateTimeBasic, t_ISO8601DateTimeExtended ) //============================DURATION============================ //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing only date components //* and using the format with designators; Both week and caledar dates //* are supported (the alternative format in $4.4.3.3 is excluded: it is //* covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignDate := pattern "P{nc.nums}(Y({nc.nums}(M({nc.nums}(D|{nc.dFraction}D))#(,1)|" & "{nc.dFraction}[MD]|D))#(,1)|{nc.dFraction}[YMDW]|M({nc.nums}" & "(D|{nc.dFraction}D)|{nc.dFraction}D)#(,1)|D|W)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing time components //* only and using the format with designators //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignTime := pattern "PT{nc.nums}(H({nc.nums}(M({nc.nums}(S|{nc.dFraction}S))#(,1)|" & "{nc.dFraction}[MS]|S))#(,1)|{nc.dFraction}[HMS]|M({nc.nums}(S|" & "{nc.dFraction}S)|{nc.dFraction}M)#(,1)|S)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations using the format with designators; //* Both week and caledar dates are supported (the alternative format in //* $4.4.3.3 is excluded: it is covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesign := pattern "P({nc.nums}((Y({nc.nums}(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|" & "{nc.durTime}#(,1))|{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}" & "#(,1))|{nc.dFraction}[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|" & "{nc.dFraction}D)|{nc.dFraction}D|{nc.durTime}#(,1))|D{nc.durTime}#(,1)|" & "W{nc.durTime}#(,1))|{nc.durTime})" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative basic format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeBasic := pattern "P{nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative extended format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeExtended := pattern "P{nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative format; //* both the basic and the extended formats are supported //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternative := ( t_ISO8601DurationAlternativeBasic, t_ISO8601DurationAlternativeExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with //* designators and the alternative representation; in the alternative //* representation only the basic format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001001T000060 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationBasic := pattern "P({nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}(({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1))|({nc.nums}((Y({nc.nums}(M({nc.nums}" & "(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|{nc.dFraction}" & "[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}[YMDW])|" & "M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with designators //* and the alternative representation; in the alternative representation only //* the extended format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationExtended := pattern "P({nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)|({nc.nums}((Y({nc.nums}" & "(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|" & "{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}" & "[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using both formats: with designators //* and the alternative representation; in the alternative representation both //* the basic and the extended formats are allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Duration := ( t_ISO8601DurationBasic, t_ISO8601DurationExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches both complete and reduced accuracy (see note below)time //* interval representations identified by start and end and using the //* basic format //* //* @remark $ 4.4.4.5 is contradictory as allows omitting higher order time //* elements in the part representing end date/time (the expression //* after the solidus), while the time part may also be of reduced //* accuracy (either by omitting the lower order elements or by a //* decimal fraction).
Language:English
Score: 1136472.7 - https://www.itu.int/wftp3/Publ.../ISO8601DateTimePatterns.ttcn3
Data Source: un
ISO8601DateTimePatterns.ttcn3 (ITU-T Z.167 (05/2012)) -- TTCN3 module extracted from ITU-T Z.167 (05/2012) module ISO8601DateTimePatterns { //========================================================================= // Imports //========================================================================= import from nc all; //========================================================================= // Templates //========================================================================= //============================DATE FORMS================================== //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarBasic := pattern "{nc.yearExpansionOpt}({nc.century}|{nc.year}({nc.month}{nc.dayOfMonth}|" & "{dash}{nc.month})#(,1))"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete and expanded) //* in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.month}{dash}{nc.dayOfMonth}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendar := ( t_ISO8601DateCalendarBasic, t_ISO8601DateCalendarExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinal := ( t_ISO8601DateOrdinalBasic, t_ISO8601DateOrdinalExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.week}{nc.dayOfWeek}#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.week}({dash}{nc.dayOfWeek})#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeek := ( t_ISO8601DateWeekBasic, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateBasic := ( t_ISO8601DateCalendarBasic, t_ISO8601DateOrdinalBasic, t_ISO8601DateWeekBasic ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateExtended := ( t_ISO8601DateCalendarExtended, t_ISO8601DateOrdinalExtended, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 //* //* @desc Matches all date representations (complete, reduced accuracy and //* expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Date := ( t_ISO8601DateBasic, t_ISO8601DateExtended ) //============================TIME-OF-DAY============================ //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference //* between local time and UTC of day ($4.2.5)and the optional time //* designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeBasic := pattern "{nc.optionalT}({nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|60|" & "{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)|{nc.endOfDay})" & "{nc.optZorTimeZone}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeExtended := pattern "{nc.optionalT}({nc.hour}{colon}({nc.minute}({colon}({nc.second}" & "{nc.sFraction}#(,1)|60)|{nc.mFraction})#(,1)|60)|{nc.endOfDayExt})" & "{nc.optZorTimeZoneExt}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic and extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Time := ( t_ISO8601TimeBasic, t_ISO8601TimeExtended ) //============================DATE-TIME FORMATS================================ //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in basic formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeBasic := pattern "{nc.yearExpansionOpt}{nc.year}({nc.month}{nc.dayOfMonth}|{nc.dayOfYear}|" & "{nc.week}{nc.dayOfWeek})T({nc.hour}({nc.minute}({nc.second}" & "{nc.sFraction}#(,1)|60|{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)" & "{nc.optZorTimeZone}|{nc.endOfDay}{nc.optZorTimeZone})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3.3 c) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}({nc.month}{dash}{nc.dayOfMonth}|" & "{nc.dayOfYear}|{nc.week}{dash}{nc.dayOfWeek})T({nc.hour}{colon}" & "({nc.minute}({colon}({nc.second}{nc.sFraction}#(,1)|60)|{nc.mFraction})" & "#(,1)|60){nc.optZorTimeZoneExt}|{nc.endOfDayExt}{nc.optZorTimeZoneExt})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTime := ( t_ISO8601DateTimeBasic, t_ISO8601DateTimeExtended ) //============================DURATION============================ //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing only date components //* and using the format with designators; Both week and caledar dates //* are supported (the alternative format in $4.4.3.3 is excluded: it is //* covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignDate := pattern "P{nc.nums}(Y({nc.nums}(M({nc.nums}(D|{nc.dFraction}D))#(,1)|" & "{nc.dFraction}[MD]|D))#(,1)|{nc.dFraction}[YMDW]|M({nc.nums}" & "(D|{nc.dFraction}D)|{nc.dFraction}D)#(,1)|D|W)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing time components //* only and using the format with designators //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignTime := pattern "PT{nc.nums}(H({nc.nums}(M({nc.nums}(S|{nc.dFraction}S))#(,1)|" & "{nc.dFraction}[MS]|S))#(,1)|{nc.dFraction}[HMS]|M({nc.nums}(S|" & "{nc.dFraction}S)|{nc.dFraction}M)#(,1)|S)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations using the format with designators; //* Both week and caledar dates are supported (the alternative format in //* $4.4.3.3 is excluded: it is covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesign := pattern "P({nc.nums}((Y({nc.nums}(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|" & "{nc.durTime}#(,1))|{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}" & "#(,1))|{nc.dFraction}[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|" & "{nc.dFraction}D)|{nc.dFraction}D|{nc.durTime}#(,1))|D{nc.durTime}#(,1)|" & "W{nc.durTime}#(,1))|{nc.durTime})" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative basic format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeBasic := pattern "P{nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative extended format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeExtended := pattern "P{nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative format; //* both the basic and the extended formats are supported //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternative := ( t_ISO8601DurationAlternativeBasic, t_ISO8601DurationAlternativeExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with //* designators and the alternative representation; in the alternative //* representation only the basic format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001001T000060 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationBasic := pattern "P({nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}(({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1))|({nc.nums}((Y({nc.nums}(M({nc.nums}" & "(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|{nc.dFraction}" & "[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}[YMDW])|" & "M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with designators //* and the alternative representation; in the alternative representation only //* the extended format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationExtended := pattern "P({nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)|({nc.nums}((Y({nc.nums}" & "(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|" & "{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}" & "[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using both formats: with designators //* and the alternative representation; in the alternative representation both //* the basic and the extended formats are allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Duration := ( t_ISO8601DurationBasic, t_ISO8601DurationExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches both complete and reduced accuracy (see note below)time //* interval representations identified by start and end and using the //* basic format //* //* @remark $ 4.4.4.5 is contradictory as allows omitting higher order time //* elements in the part representing end date/time (the expression //* after the solidus), while the time part may also be of reduced //* accuracy (either by omitting the lower order elements or by a //* decimal fraction).
Language:English
Score: 1136472.7 - https://www.itu.int/wftp3/Publ...2/ISO8601DateTimePatterns.html
Data Source: un
ISO8601DateTimePatterns.ttcn3 (ITU-T Z.167 (03/2011)) -- TTCN3 module extracted from ITU-T Z.167 (03/2011) module ISO8601DateTimePatterns { //========================================================================= // Imports //========================================================================= import from nc all; //========================================================================= // Templates //========================================================================= //============================DATE FORMS================================== //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarBasic := pattern "{nc.yearExpansionOpt}({nc.century}|{nc.year}({nc.month}{nc.dayOfMonth}|" & "{dash}{nc.month})#(,1))"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete and expanded) //* in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.month}{dash}{nc.dayOfMonth}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendar := ( t_ISO8601DateCalendarBasic, t_ISO8601DateCalendarExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinal := ( t_ISO8601DateOrdinalBasic, t_ISO8601DateOrdinalExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.week}{nc.dayOfWeek}#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.week}({dash}{nc.dayOfWeek})#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeek := ( t_ISO8601DateWeekBasic, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateBasic := ( t_ISO8601DateCalendarBasic, t_ISO8601DateOrdinalBasic, t_ISO8601DateWeekBasic ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateExtended := ( t_ISO8601DateCalendarExtended, t_ISO8601DateOrdinalExtended, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 //* //* @desc Matches all date representations (complete, reduced accuracy and //* expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Date := ( t_ISO8601DateBasic, t_ISO8601DateExtended ) //============================TIME-OF-DAY============================ //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference //* between local time and UTC of day ($4.2.5)and the optional time //* designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeBasic := pattern "{nc.optionalT}({nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|60|" & "{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)|{nc.endOfDay})" & "{nc.optZorTimeZone}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeExtended := pattern "{nc.optionalT}({nc.hour}{colon}({nc.minute}({colon}({nc.second}" & "{nc.sFraction}#(,1)|60)|{nc.mFraction})#(,1)|60)|{nc.endOfDayExt})" & "{nc.optZorTimeZoneExt}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic and extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Time := ( t_ISO8601TimeBasic, t_ISO8601TimeExtended ) //============================DATE-TIME FORMATS================================ //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in basic formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeBasic := pattern "{nc.yearExpansionOpt}{nc.year}({nc.month}{nc.dayOfMonth}|{nc.dayOfYear}|" & "{nc.week}{nc.dayOfWeek})T({nc.hour}({nc.minute}({nc.second}" & "{nc.sFraction}#(,1)|60|{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)" & "{nc.optZorTimeZone}|{nc.endOfDay}{nc.optZorTimeZone})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3.3 c) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}({nc.month}{dash}{nc.dayOfMonth}|" & "{nc.dayOfYear}|{nc.week}{dash}{nc.dayOfWeek})T({nc.hour}{colon}" & "({nc.minute}({colon}({nc.second}{nc.sFraction}#(,1)|60)|{nc.mFraction})" & "#(,1)|60){nc.optZorTimeZoneExt}|{nc.endOfDayExt}{nc.optZorTimeZoneExt})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTime := ( t_ISO8601DateTimeBasic, t_ISO8601DateTimeExtended ) //============================DURATION============================ //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing only date components //* and using the format with designators; Both week and caledar dates //* are supported (the alternative format in $4.4.3.3 is excluded: it is //* covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignDate := pattern "P{nc.nums}(Y({nc.nums}(M({nc.nums}(D|{nc.dFraction}D))#(,1)|" & "{nc.dFraction}[MD]|D))#(,1)|{nc.dFraction}[YMDW]|M({nc.nums}" & "(D|{nc.dFraction}D)|{nc.dFraction}D)#(,1)|D|W)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing time components //* only and using the format with designators //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignTime := pattern "PT{nc.nums}(H({nc.nums}(M({nc.nums}(S|{nc.dFraction}S))#(,1)|" & "{nc.dFraction}[MS]|S))#(,1)|{nc.dFraction}[HMS]|M({nc.nums}(S|" & "{nc.dFraction}S)|{nc.dFraction}M)#(,1)|S)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations using the format with designators; //* Both week and caledar dates are supported (the alternative format in //* $4.4.3.3 is excluded: it is covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesign := pattern "P({nc.nums}((Y({nc.nums}(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|" & "{nc.durTime}#(,1))|{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}" & "#(,1))|{nc.dFraction}[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|" & "{nc.dFraction}D)|{nc.dFraction}D|{nc.durTime}#(,1))|D{nc.durTime}#(,1)|" & "W{nc.durTime}#(,1))|{nc.durTime})" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative basic format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeBasic := pattern "P{nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative extended format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeExtended := pattern "P{nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative format; //* both the basic and the extended formats are supported //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternative := ( t_ISO8601DurationAlternativeBasic, t_ISO8601DurationAlternativeExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with //* designators and the alternative representation; in the alternative //* representation only the basic format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001001T000060 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationBasic := pattern "P({nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}(({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1))|({nc.nums}((Y({nc.nums}(M({nc.nums}" & "(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|{nc.dFraction}" & "[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}[YMDW])|" & "M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with designators //* and the alternative representation; in the alternative representation only //* the extended format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationExtended := pattern "P({nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)|({nc.nums}((Y({nc.nums}" & "(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|" & "{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}" & "[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using both formats: with designators //* and the alternative representation; in the alternative representation both //* the basic and the extended formats are allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g. //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Duration := ( t_ISO8601DurationBasic, t_ISO8601DurationExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches both complete and reduced accuracy (see note below)time //* interval representations identified by start and end and using the //* basic format //* //* @remark $ 4.4.4.5 is contradictory as allows omitting higher order time //* elements in the part representing end date/time (the expression //* after the solidus), while the time part may also be of reduced //* accuracy (either by omitting the lower order elements or by a //* decimal fraction).
Language:English
Score: 1136472.7 - https://www.itu.int/wftp3/Publ...1/ISO8601DateTimePatterns.html
Data Source: un
module ISO8601DateTimePatterns { //========================================================================= // Imports //========================================================================= import from nc all; //========================================================================= // Templates //========================================================================= //============================DATE FORMS================================== //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarBasic := pattern "{nc.yearExpansionOpt}({nc.century}|{nc.year}({nc.month}{nc.dayOfMonth}|" & "{dash}{nc.month})#(,1))"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete and expanded) //* in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendarExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.month}{dash}{nc.dayOfMonth}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.2 //* //* @desc Matches all calendar date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateCalendar := ( t_ISO8601DateCalendarBasic, t_ISO8601DateCalendarExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinalExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.dayOfYear}"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.3 //* //* @desc Matches all ordinal date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateOrdinal := ( t_ISO8601DateOrdinalBasic, t_ISO8601DateOrdinalExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekBasic := pattern "{nc.yearExpansionOpt}{nc.year}{nc.week}{nc.dayOfWeek}#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeekExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}{nc.week}({dash}{nc.dayOfWeek})#(,1)"; //***************************************************************************** //* //* @reference ISO_8601 $4.1.4 //* //* @desc Matches all week date representations (complete, reduced //* accuracy and expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateWeek := ( t_ISO8601DateWeekBasic, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in basic formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateBasic := ( t_ISO8601DateCalendarBasic, t_ISO8601DateOrdinalBasic, t_ISO8601DateWeekBasic ) //***************************************************************************** //* //* @reference ISO_8601 $4.1 //* //* @desc Matches all date representations (complete, reduced accuracy //* and expanded) in extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateExtended := ( t_ISO8601DateCalendarExtended, t_ISO8601DateOrdinalExtended, t_ISO8601DateWeekExtended ) //***************************************************************************** //* //* @reference ISO_8601 //* //* @desc Matches all date representations (complete, reduced accuracy and //* expanded) in basic and extended formats //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Date := ( t_ISO8601DateBasic, t_ISO8601DateExtended ) //============================TIME-OF-DAY============================ //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference //* between local time and UTC of day ($4.2.5)and the optional time //* designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeBasic := pattern "{nc.optionalT}({nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|60|" & "{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)|{nc.endOfDay})" & "{nc.optZorTimeZone}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601TimeExtended := pattern "{nc.optionalT}({nc.hour}{colon}({nc.minute}({colon}({nc.second}" & "{nc.sFraction}#(,1)|60)|{nc.mFraction})#(,1)|60)|{nc.endOfDayExt})" & "{nc.optZorTimeZoneExt}"; //***************************************************************************** //* //* @reference ISO_8601 $4.2 //* //* @desc Matches all time of day representations in basic and extended formats //* Supports all time of day representations as local time: complete //* ($4.2.2.2), reduced accuracy($4.2.2.3) and with decimal fraction //* ($4.2.2.4), midnight($4.2.3); UTC of day ($4.2.4) and difference between //* local time and UTC of day ($4.2.5)and the optional time designator //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Time := ( t_ISO8601TimeBasic, t_ISO8601TimeExtended ) //============================DATE-TIME FORMATS================================ //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in basic formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeBasic := pattern "{nc.yearExpansionOpt}{nc.year}({nc.month}{nc.dayOfMonth}|{nc.dayOfYear}|" & "{nc.week}{nc.dayOfWeek})T({nc.hour}({nc.minute}({nc.second}" & "{nc.sFraction}#(,1)|60|{nc.mFraction})#(,1)|60|{nc.hFraction})#(,1)" & "{nc.optZorTimeZone}|{nc.endOfDay}{nc.optZorTimeZone})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3.3 c) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTimeExtended := pattern "{nc.yearExpansionOpt}{nc.year}{dash}({nc.month}{dash}{nc.dayOfMonth}|" & "{nc.dayOfYear}|{nc.week}{dash}{nc.dayOfWeek})T({nc.hour}{colon}" & "({nc.minute}({colon}({nc.second}{nc.sFraction}#(,1)|60)|{nc.mFraction})" & "#(,1)|60){nc.optZorTimeZoneExt}|{nc.endOfDayExt}{nc.optZorTimeZoneExt})"; //***************************************************************************** //* //* @reference ISO_8601 $4.3 //* //* @desc Matches all date/time of day representations in all formats //* //* @remark Acc. to $4.3... ?) the date part shall always be complete //* @remark Omitting the T designer between the date and time parts is not //* supported //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DateTime := ( t_ISO8601DateTimeBasic, t_ISO8601DateTimeExtended ) //============================DURATION============================ //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing only date components //* and using the format with designators; Both week and caledar dates //* are supported (the alternative format in $4.4.3.3 is excluded: it is //* covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignDate := pattern "P{nc.nums}(Y({nc.nums}(M({nc.nums}(D|{nc.dFraction}D))#(,1)|" & "{nc.dFraction}[MD]|D))#(,1)|{nc.dFraction}[YMDW]|M({nc.nums}" & "(D|{nc.dFraction}D)|{nc.dFraction}D)#(,1)|D|W)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations containing time components //* only and using the format with designators //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesignTime := pattern "PT{nc.nums}(H({nc.nums}(M({nc.nums}(S|{nc.dFraction}S))#(,1)|" & "{nc.dFraction}[MS]|S))#(,1)|{nc.dFraction}[HMS]|M({nc.nums}(S|" & "{nc.dFraction}S)|{nc.dFraction}M)#(,1)|S)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.2 //* //* @desc Matches duration representations using the format with designators; //* Both week and caledar dates are supported (the alternative format in //* $4.4.3.3 is excluded: it is covered by t_ISO8601DurationAlternative...) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationDesign := pattern "P({nc.nums}((Y({nc.nums}(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|" & "{nc.durTime}#(,1))|{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}" & "#(,1))|{nc.dFraction}[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|" & "{nc.dFraction}D)|{nc.dFraction}D|{nc.durTime}#(,1))|D{nc.durTime}#(,1)|" & "W{nc.durTime}#(,1))|{nc.durTime})" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative basic format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeBasic := pattern "P{nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative extended format //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternativeExtended := pattern "P{nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3.3 //* //* @desc Matches duration representations using the alternative format; //* both the basic and the extended formats are supported //* //* @remark Both caledar and ordinal dates are supported //* @remark Any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationAlternative := ( t_ISO8601DurationAlternativeBasic, t_ISO8601DurationAlternativeExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with //* designators and the alternative representation; in the alternative //* representation only the basic format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P00011200T000000, P00010130T000000, //* P001365T000000, P0001001T006000 and //* P0001001T000060 //* are NOT accepted, only //* P00020000T000000, P00010200T000000, //* P002000T000000, P0001001T010000 and //* P0001001T000100 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationBasic := pattern "P({nc.year}({nc.monthDurAlt}{nc.dayOfMonthDurAlt}|{nc.dayOfYearDurAlt})" & "T{nc.hour}(({nc.minute}({nc.second}{nc.sFraction}#(,1)|{nc.mFraction})" & "#(,1)|{nc.hFraction})#(,1))|({nc.nums}((Y({nc.nums}(M({nc.nums}" & "(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|{nc.dFraction}" & "[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}[YMDW])|" & "M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using the both formats: with designators //* and the alternative representation; in the alternative representation only //* the extended format is allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601DurationExtended := pattern "P({nc.year}{dash}({nc.monthDurAlt}{dash}{nc.dayOfMonthDurAlt}|" & "{nc.dayOfYearDurAlt})T{nc.hour}{colon}{nc.minute}({colon}{nc.second}" & "{nc.sFraction}#(,1)|{nc.mFraction})#(,1)|({nc.nums}((Y({nc.nums}" & "(M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.durTime}#(,1))|" & "{nc.dFraction}[MD]|D{nc.durTime}#(,1))|{nc.durTime}#(,1))|{nc.dFraction}" & "[YMDW])|M({nc.nums}(D{nc.durTime}#(,1)|{nc.dFraction}D)|{nc.dFraction}D|" & "{nc.durTime}#(,1))|D{nc.durTime}#(,1)|W{nc.durTime}#(,1))|{nc.durTime}))" //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches duration representations using both formats: with designators //* and the alternative representation; in the alternative representation both //* the basic and the extended formats are allowed //* //* @remark both caledar and ordinal dates are supported //* @remark any of the components may be numerically 0; //* @remark Carry over points are 12 month, 30 days, (365 days in case of //* ordinal dates), 24 hours, 60 minutes and //* 60 seconds; e.g., //* P0001-12-00T00:00:00, P0001-01-30T00:00:00, //* P001-365T00:00:00, P0001-001T00:60:00 and //* P0001-001T00:00:60 //* are NOT accepted, only //* P0002-00-00T00:00:00, P0001-02-00T00:00:00, //* P002-000T00:00:00, P0001-001T01:00:00 and //* P0001-001T00:01:00 //* are valid //* @remark The time part may be of reduced accuracy (by using decimal fraction //* or omitting lower order time element(s)), the date part shall be //* complete (i.e., numerically 0 elements shall not be omitted) //* //* @status verified //* //***************************************************************************** template charstring t_ISO8601Duration := ( t_ISO8601DurationBasic, t_ISO8601DurationExtended ) //***************************************************************************** //* //* @reference ISO_8601 $4.4.3 //* //* @desc Matches both complete and reduced accuracy (see note below)time //* interval representations identified by start and end and using the //* basic format //* //* @remark $ 4.4.4.5 is contradictory as allows omitting higher order time //* elements in the part representing end date/time (the expression //* after the solidus), while the time part may also be of reduced //* accuracy (either by omitting the lower order elements or by a //* decimal fraction).
Language:English
Score: 1136472.7 - https://www.itu.int/wftp3/Publ...ateTimePatterns.ttcn3.2012.txt
Data Source: un
It is noted that the submission with complete information should include description template (including a link budget template), compliance template, self-evaluation and compliance with IPR policy as described in section 5.1 and 5.2 of Report ITU-R M.2411. (...) It would be available on a subscription basis for ITU-R Members, designated representatives of the proponents of candidate technology submissions and designated representatives of the IEGs. The proponents and IEGs are requested to provide details of the designated representatives. WP 5D looks forward to fruitful collaboration with proponents on this matter and will provide further information under Step 3 of IMT-2020 process.
Language:English
Score: 1114822.3 - https://www.itu.int/dms_pub/it...0a/06/R0A0600007E0002MSWE.docx
Data Source: un
GC Active COP Using the Basic Template | UN Global Compact All Participants Search Who We Are The SDGs Participation Take Action Engage Locally Explore Our Library About News Sign In Contact Us Explore our enhanced library Designed to help you find the resources you need to take the next step on your sustainability journey. Back to Listings Resource Author United Nations Global Compact Report (2014) GC Active COP Using the Basic Template Resource Author United Nations Global Compact The Basic COP Template is an easy-to-use web-based template with examples. Access Resource Step-by-step submission guide (English) Basic Template (Arabic) Basic Template (Chinese-Mandarin) Basic Template (English) Basic Template (French) Basic Template (Japanese) Basic Template (Russian) Basic Template (Spanish) Basic Template (German) Basic Template (Turkish) Basic Template (Korean) Basic Template (Portuguese) Basic Template (Italian) Resource Details Topics Communication on Progress Issues Communication on Progress Reporting Share Resource Mail Twitter Facebook LinkedIn Help us transform the world through business Contribute Today Sign Up for Our Bulletin Have a Question?
Language:English
Score: 1100679.7 - https://www.unglobalcompact.org/library/2971
Data Source: un
Template for the Communication on Engagement | UN Global Compact All Participants Search Who We Are The SDGs Participation Take Action Engage Locally Explore Our Library About News Sign In Contact Us Explore our enhanced library Designed to help you find the resources you need to take the next step on your sustainability journey. Back to Listings Resource Author United Nations Global Compact Report (2015) Template for the Communication on Engagement Resource Author United Nations Global Compact The COE Template is an easy-to-use web-based template with examples. Access Resource Basic Template (English) Basic Template (Spanish) Basic Template (French) Basic Template (Arabic) Basic Template (Chinese-Mandarin) Basic Template (Portuguese) Basic Template (Japanese) Basic Template (Korean) Basic Template (Turkish) Resource Details Topics Communication on Engagement Issues Communication on Progress Ten Principles Reporting Share Resource Mail Twitter Facebook LinkedIn Help us transform the world through business Contribute Today Sign Up for Our Bulletin Have a Question?
Language:English
Score: 1098942.7 - https://www.unglobalcompact.org/library/3771
Data Source: un