From b11cfb1636d108841d4d2a2298b328589c43bae1 Mon Sep 17 00:00:00 2001 From: Ronald Tse Date: Tue, 12 May 2026 01:06:05 +0800 Subject: [PATCH 1/2] ci: update metanorma workflows and add release manifest --- .github/workflows/docker.yml | 77 - .github/workflows/generate.yml | 21 + .github/workflows/release.yml | 17 + csd-datetime-explicit.doc | 4364 +++++++++++++++++ csd-datetime-explicit.html | 2551 ++++++++++ csd-datetime-explicit.pdf | Bin 0 -> 197796 bytes csd-datetime-explicit.xml | 1751 +++++++ deploy_key.pub | 1 + metanorma.release.yml | 2 + metanorma.yml | 6 +- relaton/cache/ietf/ietf_rfc_5545.redirect | 1 + relaton/cache/ietf/ietf_rfc_6350.redirect | 1 + relaton/cache/ietf/rfc_5545.xml | 44 + relaton/cache/ietf/rfc_6350.xml | 44 + relaton/cache/ietf/version | 1 + relaton/cache/iso/iso_8601_2004.xml | 79 + relaton/cache/iso/iso_iec_646.redirect | 1 + relaton/cache/iso/iso_iec_646_all_parts.xml | 132 + relaton/cache/iso/version | 1 + submissions/20180831-datetime-explicit.zip | Bin 0 -> 74760 bytes .../csd-datetime-explicit.docx | Bin 0 -> 53023 bytes .../csd-datetime-explicit.html | 1554 ++++++ 22 files changed, 10569 insertions(+), 79 deletions(-) delete mode 100644 .github/workflows/docker.yml create mode 100644 .github/workflows/generate.yml create mode 100644 .github/workflows/release.yml create mode 100644 csd-datetime-explicit.doc create mode 100644 csd-datetime-explicit.html create mode 100644 csd-datetime-explicit.pdf create mode 100644 csd-datetime-explicit.xml create mode 100644 deploy_key.pub create mode 100644 metanorma.release.yml create mode 100644 relaton/cache/ietf/ietf_rfc_5545.redirect create mode 100644 relaton/cache/ietf/ietf_rfc_6350.redirect create mode 100644 relaton/cache/ietf/rfc_5545.xml create mode 100644 relaton/cache/ietf/rfc_6350.xml create mode 100644 relaton/cache/ietf/version create mode 100644 relaton/cache/iso/iso_8601_2004.xml create mode 100644 relaton/cache/iso/iso_iec_646.redirect create mode 100644 relaton/cache/iso/iso_iec_646_all_parts.xml create mode 100644 relaton/cache/iso/version create mode 100644 submissions/20180831-datetime-explicit.zip create mode 100644 submissions/20180831-datetime-explicit/csd-datetime-explicit.docx create mode 100644 submissions/20180831-datetime-explicit/csd-datetime-explicit.html diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index d5e719f..0000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,77 +0,0 @@ -# Auto-generated by Cimas: Do not edit it manually! -# See https://github.com/metanorma/cimas -name: docker - -on: - push: - branches: [ master ] - pull_request: - paths-ignore: - - .github/workflows/macos.yml - - .github/workflows/ubuntu.yml - - .github/workflows/windows.yml - -jobs: - test-docker: - runs-on: ubuntu-latest - container: docker://metanorma/mn - steps: - - uses: actions/checkout@master - - name: Checkout submodules - shell: bash - run: | - auth_header="$(git config --local --get http.https://github.com/.extraheader)" - git submodule sync --recursive - git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - - name: Setup fonts - run: | - # We need to do this to install mscorefonts - apt-add-repository -y contrib - apt-get update - echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections - apt-get install -y ttf-mscorefonts-installer - curl -Ls https://raw.githubusercontent.com/metanorma/vista-fonts-installer/master/vista-fonts-installer.sh | bash - - uses: actions/setup-go@v2-beta - with: - go-version: '^1.13.1' - - name: Install yq - run: | - GO111MODULE=on go get github.com/mikefarah/yq/v3 - ln -s $GOPATH/bin/yq /usr/local/bin/yq - - name: Instal gems from local Gemfile - run: | - curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/gemfile-to-bundle-add.sh | bash - - name: Build document in the Metanorma container - env: - LC_ALL: C.UTF-8 - LANG: C.UTF-8 - LANGUAGE: C.UTF-8 - run: | - make clean all publish - - uses: actions/upload-artifact@master - with: - name: published - path: published - - deploy-gh-pages: - if: github.ref == 'refs/heads/master' - runs-on: ubuntu-latest - needs: test-docker - steps: - - uses: actions/checkout@master - - uses: actions/download-artifact@v1 - with: - name: published - - name: Deploy to GH Pages - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.GH_DEPLOY_KEY }} - publish_dir: ./published - force_orphan: true - user_name: ${{ github.actor }} - user_email: ${{ format('{0}@users.noreply.github.com', github.actor) }} - commit_message: "${{ format('Deploy to GitHub Pages: {0}', github.sha) }}" - - uses: kolpav/purge-artifacts-action@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - expire-in: 0 diff --git a/.github/workflows/generate.yml b/.github/workflows/generate.yml new file mode 100644 index 0000000..8a94620 --- /dev/null +++ b/.github/workflows/generate.yml @@ -0,0 +1,21 @@ +name: generate + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + site: + uses: actions-mn/.github/.github/workflows/metanorma-generate.yml@v1 + secrets: inherit diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..34f525e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,17 @@ +name: Release + +on: + push: + branches: [main] + paths: ['sources/**', 'metanorma.yml', 'metanorma.release.yml'] + workflow_dispatch: + +permissions: + contents: write + +jobs: + release: + uses: actions-mn/.github/.github/workflows/metanorma-release.yml@v1 + with: + default-visibility: private + secrets: inherit diff --git a/csd-datetime-explicit.doc b/csd-datetime-explicit.doc new file mode 100644 index 0000000..9ffd1d8 --- /dev/null +++ b/csd-datetime-explicit.doc @@ -0,0 +1,4364 @@ +MIME-Version: 1.0 +Content-Type: multipart/related; boundary="----=_NextPart_9777c15e.6c32.4720" + +------=_NextPart_9777c15e.6c32.4720 +Content-Location: file:///C:/Doc/csd-datetime-explicit.htm +Content-Type: text/html; charset="utf-8" + + + + + + + + + + + +

+ + CC/FDS 18011:2018 + + + +

+ + +

+ +

+ CalConnect  + + VCARD, CALENDAR + +

+ +

+ Date and time — Explicit representation + +
+ +

+ + +

+ Editors: +

+ + +

+ Authors: +

+ + +

+ +

 

+ +

+ +
+ +

Standard

+ + +
+ +

+ +

 

+ +

+ +
+ + + +
+ +

+ The Calendaring and Scheduling Consortium, Inc.  + + 2018 + +

+ + + + + +

 

+
+
+
+ + + + +

+ Contents +

+ +

 TOC + \o "1-2" \h \z \u + +Foreword +. + + + PAGEREF _Toc192001656 \h + 1 +

+ +

+ + +Introduction +. + + + PAGEREF _Toc203712260 \h + 1 + + +

+ +

+ + +1. Scope +. + + + PAGEREF _Toc317512012 \h + 1 + + +

+ +

+ + +2. Normative references +. + + + PAGEREF _Toc409726553 \h + 1 + + +

+ +

+ + +3. Terms, definitions, symbols and abbreviated terms +. + + + PAGEREF _Toc38280296 \h + 1 + + +

+ +

+ + +3.1. Terms and definitions +. + + + PAGEREF _Toc926923905 \h + 1 + + +

+ +

+ + +3.2. Symbols and abbreviated terms +. + + + PAGEREF _Toc996059683 \h + 1 + + +

+ +

+ + +4. Time scale components and units +. + + + PAGEREF _Toc947724523 \h + 1 + + +

+ +

+ + +4.1. General +. + + + PAGEREF _Toc632553858 \h + 1 + + +

+ +

+ + +4.2. Order of time scale units +. + + + PAGEREF _Toc121609428 \h + 1 + + +

+ +

+ + +4.3. Explicit forms +. + + + PAGEREF _Toc335435476 \h + 1 + + +

+ +

+ + +4.4. Negative values +. + + + PAGEREF _Toc940319595 \h + 1 + + +

+ +

+ + +5. Grouped time scale units +. + + + PAGEREF _Toc991370367 \h + 1 + + +

+ +

+ + +5.1. General +. + + + PAGEREF _Toc680163836 \h + 1 + + +

+ +

+ + +5.2. Unit definition +. + + + PAGEREF _Toc967459486 \h + 1 + + +

+ +

+ + +5.3. Unit value +. + + + PAGEREF _Toc133838751 \h + 1 + + +

+ +

+ + +5.4. Application within representations +. + + + PAGEREF _Toc721471616 \h + 1 + + +

+ +

+ + +6. Explicit representations +. + + + PAGEREF _Toc83288945 \h + 1 + + +

+ +

+ + +6.1. General +. + + + PAGEREF _Toc791296955 \h + 1 + + +

+ +

+ + +6.2. Date +. + + + PAGEREF _Toc966628721 \h + 1 + + +

+ +

+ + +6.3. Time of day +. + + + PAGEREF _Toc516185227 \h + 1 + + +

+ +

+ + +6.4. Time shift +. + + + PAGEREF _Toc174643347 \h + 1 + + +

+ +

+ + +6.5. Date with shift +. + + + PAGEREF _Toc984872168 \h + 1 + + +

+ +

+ + +6.6. Time of day with time shift +. + + + PAGEREF _Toc536069822 \h + 1 + + +

+ +

+ + +6.7. Date and time of day +. + + + PAGEREF _Toc585131516 \h + 1 + + +

+ +

+ + +6.8. Decade +. + + + PAGEREF _Toc592456413 \h + 1 + + +

+ +

+ + +6.9. Century +. + + + PAGEREF _Toc360680270 \h + 1 + + +

+ +

+ + +6.10. Omission of zero valued components +. + + + PAGEREF _Toc277807164 \h + 1 + + +

+ +

+ + +6.11. Indication of precision +. + + + PAGEREF _Toc640535768 \h + 1 + + +

+ +

+ + +6.12. Decimal fractions for time +. + + + PAGEREF _Toc363897556 \h + 1 + + +

+ +

+ + +6.13. Representations other than complete +. + + + PAGEREF _Toc410764274 \h + 1 + + +

+ +

+ + +6.14. Time interval +. + + + PAGEREF _Toc677984641 \h + 1 + + +

+ +

+ + +7. Explicit duration +. + + + PAGEREF _Toc747566334 \h + 1 + + +

+ +

+ + +7.1. General +. + + + PAGEREF _Toc407072300 \h + 1 + + +

+ +

+ + +7.2. Durational units +. + + + PAGEREF _Toc15702671 \h + 1 + + +

+ +

+ + +7.3. Representations +. + + + PAGEREF _Toc912550784 \h + 1 + + +

+ +

+ + +7.4. Negative duration +. + + + PAGEREF _Toc796296340 \h + 1 + + +

+ +

+ + +7.5. Fractional duration +. + + + PAGEREF _Toc426434666 \h + 1 + + +

+ +

+ + +7.6. Exact duration +. + + + PAGEREF _Toc974142964 \h + 1 + + +

+ +

+ + +8. Evaluation of date and time with duration +. + + + PAGEREF _Toc615613865 \h + 1 + + +

+ +

+ + +8.1. General +. + + + PAGEREF _Toc393222683 \h + 1 + + +

+ +

+ + +8.2. Prerequisite mechanisms +. + + + PAGEREF _Toc275333076 \h + 1 + + +

+ +

+ + +8.3. Simple duration +. + + + PAGEREF _Toc751847277 \h + 1 + + +

+ +

+ + +8.4. Composite duration +. + + + PAGEREF _Toc457223631 \h + 1 + + +

+ +

+ + +8.5. Precedence duration +. + + + PAGEREF _Toc619468965 \h + 1 + + +

+ +

+ + +8.6. Involving fractional duration +. + + + PAGEREF _Toc807973529 \h + 1 + + +

+ +

+ + +8.7. Involving speculative duration +. + + + PAGEREF _Toc995105331 \h + 1 + + +

+ +

+ + +Bibliography +. + + + PAGEREF _Toc712299694 \h + 1 + + +

+ +

+ + + + +

 

+ +

+ + +
+
+

Foreword

+

The Calendaring and Scheduling Consortium ("CalConnect") is global non-profit +organization with the aim to facilitate interoperability of technologies across +user-centric systems and applications.

+

CalConnect works closely with liaison partners including international +organizations such as ISO, OASIS and M3AAWG.

+

The procedures used to develop this document and those intended for its further +maintenance are described in the CalConnect Directives.

+

In particular the different approval criteria needed for the different types of +CalConnect documents should be noted. This document was drafted in accordance with the +editorial rules of the CalConnect Directives.

+

Attention is drawn to the possibility that some of the elements of this +document may be the subject of patent rights. CalConnect shall not be held responsible +for identifying any or all such patent rights. Details of any patent rights +identified during the development of the document will be in the Introduction +and/or on the CalConnect list of patent declarations received (see +www.calconnect.com/patents).

+

Any trade name used in this document is information given for the convenience +of users and does not constitute an endorsement.

+

This document was prepared by Technical Committee VCARD, CALENDAR.

+
+
+
+

Introduction

+

ISO 8601:2004 has been the international standard for date and time representations +and is applied widely, including in the RFC5545 and RFC6350 standards.

+

However, the representations provided in ISO 8601:2004 require +fixed-length digits for time scale components, such as the +4-digit year, does not accept negative values, and does not +allow omission of a time scale component that has a zero value.

+

This document extends the "duration" representation +defined in ISO 8601:2004 to fulfill the need of a flexible-length +representation, called the "explicit form".

+
+

 

+
+
+
+

Date and time — Explicit representation

+
+

1.  Scope

+

The purpose of this document is to provide:

+ +

+ a standard, declarative representation of date and time and time +scale components called the "explicit form"; +

+

+ a grouped time scale unit mechanism for grouping of date and time; +and +

+

+ new duration representations and mechanics for the calculation of +date time formulas involving duration. +

+ +

This document only supports date elements from the Gregorian calendar and +times from the 24-hour clock.

+

Date and time format representations described in this document +utilizes numbers, alphabets and symbols defined in ISO/IEC 646. +These representations are meant to be both human recognizable and +machine readable. Character encoding of the representations is +not covered in this document.

+
+
+

2.  Normative references

+

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

+

ISO 8601-1:--, Date and time — Representation for information interchange — Part 1: Basic rules

+
+

3.  Terms, definitions, symbols and abbreviated terms

For the purposes of this document, the terms and definitions + given in ISO 8601-1:-- and the following apply.

+

3.1. Terms and definitions

3.1.1 

explicit form

+ +

date and time representation that uses designator symbols to delimit time scale components

+ +

3.1.2 

designator symbols

+ +

characters used to denote units of a time scale component

+ +

3.1.3 

date time formula

+ +

expression that specifies modification of a date and time expression (ISO 8601-1:--, Clause 3.1.3.1) with a duration (ISO 8601-1:--, Clause 3.1.1.8)

+ +

3.1.4 

durational unit

+ +

time scale component (ISO 8601-1:--, Clause 3.1.3.3) that compose the duration (ISO 8601-1:--, Clause 3.1.1.8) date and time representation (ISO 8601-1:--, Clause 3.1.3.2)

+ +

3.1.5 

grouped time scale unit

+ +

time scale unit (ISO 8601-1:--, Clause 3.1.1.7) composed of a duration (ISO 8601-1:--, Clause 3.1.1.8) expressed by one or more durational units (Clause 3.1.4)

+

3.2. Symbols and abbreviated terms

3.2.1 

General

+ +

Representations specified in this document make use of symbols given in ISO 8601-1:-- and the following.

+ +

3.2.2 

Time scale component symbols

+ +

c(feat)

+

the left side of representation statement where "c" is a time scale component (e.g. "year") and "feat" is a feature, for example, "m" for a time scale component that accepts negative values

+

yearE

+

time scale component calendar year in explicit form

+

monthE

+

time scale component calendar month in explicit form

+

weekE

+

time scale component calendar week of year in explicit form

+

dayE

+

time scale component calendar day of month in explicit form

+

daykE

+

time scale component calendar day of week in explicit form

+

dayoE

+

time scale component calendar day of year in explicit form

+

hourE

+

time scale component clock hour in explicit form

+

minE

+

time scale component clock minute in explicit form

+

secE

+

time scale component clock second in explicit form

+

decE

+

time scale component decade in explicit form

+

centE

+

time scale component century in explicit form

+
+ +

3.2.3 

Composite component symbols

+ +

dateE

+

the composite time scale components for the complete representation of a date as determined in Clause 6.2.1

+

timeE

+

the composite time scale components for the complete representation of a time of day as determined in Clause 6.3.1

+

shiftE

+

the composite time scale component for time shift in basic form with hours and minutes, as determined in Clause 6.4

+

durationE

+

the composite time scale units for the representation of a duration as determined in ISO 8601:2004

+
+ +

3.2.4 

Symbols used in place of digits or signs

These symbols are used to represent characters in the date and time representations. They are used in representations only, and are replaced by one or more characters, as described, in expressions:

+

!

+

indicates that the token following this symbol is optional (may be omitted)

+

n

+

a positive integer or value, may be left absent to signify an unbounded value

+

i

+

a positive integer

+

negi

+

a positive or negative integer; equivalent to [!]["-"][i]

+
+

3.2.5 

Designator symbols

These symbols are used to represent designators in the date and time expressions:

+

"-"

+

a minus sign represented by the character "`-"` to indicate a negative value

+

"K"

+

the calendar day of week designator, represented by the character "K", preceding a data element which represents the ordinal number of a calendar day within a calendar week

+

"J"

+

the decade designator, represented by the character "J", preceding a data element which represents the number of decades

+

"Y"

+

the year designator, represented by the character "Y", preceding a data element which represents the number of years

+

"M"

+

the month or minute designator, represented by the character "M", preceding a data element which represents the number of months or minutes

+

"W"

+

the week designator, represented by the character "W", preceding a data element which represents the ordinal number of a calendar week within the calendar year

+

"O"

+

the calendar day of year designator, represented by the character "O", preceding a data element which represents the ordinal number of a calendar day within a calendar year

+

"D"

+

the day of month designator, represented by the character "D", preceding a data element which represents the number of days in a month

+

"H"

+

the hour designator, represented by the character "H", preceding a data element which represents the number of hours

+

"S"

+

the second designator, represented by the character "S", preceding a data element which represents the number of seconds

+

"T"

+

the time designator, represented by character "T", indicates:

+ +

+ the start of the representation of local time of day to designate local time of day expressions as such, +

+

+ the start of the representation of the time of day in date and time of day expressions, +

+

+ the start of the representation of the number of hours, minutes or seconds in expressions of duration +

+ +

"P"

+

the duration designator, represented by the character "P", preceding the component which represents the duration

+

"B"

+

the suffix designator to represent years before year one, represented by the character "B", placed after the time scale components of calendar year, decade and century.

+

"Z"

+

the UTC designator, represented by the character "Z", added to the end of a time representation to indicate that a time of day is represented as UTC of day.

+

"G"

+

the grouped time scale unit prefix designator, represented by the character "G", indicates a grouping calculation applies to the subsequent time scale components until encountering the corresponding suffix designator.

+

"U"

+

the grouped time scale unit suffix designator, represented by the character "U", indicates a grouping calculation applies to the preceding time scale components from the corresponding prefix designator.

+

"x"

+

the representation of any character "x" as according to the textual representation of "x" in the ISO/IEC 646 repertoire

+
+ + +

Note 1 to entry: Although "M" can be used to designate months or for minutes, its meaning is unambiguous in expressions because the time portion shall always be preceded by the time designator "T".

Note 2 to entry: The designator symbol "J" is assigned from its ordinal position +being the tenth letter of the English alphabet.

Note 3 to entry: The "G" and "U" designator symbols are used to demarcate the +"grouped time scale unit" time scale components as they form the +initial letters of the words "group" and "unit".

+

3.2.6 

Separator symbols

In date and time expressions and date and time representations, the following characters are used as separators.

+

"/" (solidus)

+

the "/" solidus character separates start and end times in the representation of a time interval, as well as the symbol 'R' from the remainder of a recurring time interval representation. A solidus may be replaced with a double hyphen ["--"] by mutual agreement of the communicating partners.

+

"." (period) and "," (comma)

+

the "." period and "," comma characters are decimal signs used to separate the integer part from the decimal fraction of a number.

+
+
+

4.  Time scale components and units

+

4.1. General

+ +

Additional properties and the explicit forms of time scale units are +represented in this clause.

+
+

4.2. Order of time scale units

This document refers to an "order" amongst time scale units, which is +defined by the duration of a time scale unit relative to other time +scale units. For example, since a single calendar month has a duration +always greater than a single unit of calendar day, the former is +considered of a higher order time scale unit than calendar day, and +therefore the latter is also considered of a lower order time scale +unit than the former.

+

The relative order of commonly used time scale units is specified +below, with the higher listed entry considered a higher order time +scale unit than a lower listed entry:

+ +

+ calendar century +

+

+ calendar decade +

+

+ calendar year +

+

+ calendar month +

+

+ calendar week +

+

+ calendar day +

+

+ clock hour +

+

+ clock minute +

+

+ clock second +

+ +

NOTE  a higher order time scale does not necessarily mean its duration +can be expressed as an integer multiple of a lower order time scale, +for example, in the case of calendar month (28, 29, 30 or 31 days) +and calendar week (7 days).

+

4.3. Explicit forms

4.3.1. Value prefixing

Prefixing of the value with one or more "`0`"s (the number zero) to the +integer [i] is allowed in the explicit forms of time scale components.

+
EXAMPLE +

'1M', '01M', and '0001M' all describe the calendar month January.

+
+

4.3.2. Calendar year and years duration

The calendar year and years duration is represented as follows:

+

[i]["Y"]

+
EXAMPLE 1 +

'12Y', duration, twelve years

+

 

+
EXAMPLE 2 +

'12Y', date, year 12.

+
+

4.3.3. Calendar month and months duration

The calendar month and months duration is represented as follows:

+

[i]["M"]

+
EXAMPLE 1 +

'6M', duration, 6 months.

+

 

+
EXAMPLE 2 +

'8M', date, the month of August.

+
+

4.3.4. Calendar week of year and weeks duration

The calendar week of year number and weeks duration is represented as +follows:

+

[i]["W"]

+
EXAMPLE 1 +

'10W', duration, ten weeks.

+

 

+
EXAMPLE 2 +

'22W', date, the twenty-second calendar week of a calendar year.

+
+

4.3.5. Calendar day of month and days duration

The calendar day of month and days duration is represented as follows:

+

[i]["D"]

+
EXAMPLE 1 +

'130D', duration, 130 days.

+

 

+
EXAMPLE 2 +

'25D', date, the twenty-fifth (25) calendar day of a calendar month.

+
+

4.3.6. Calendar day of week

The calendar day of week is represented as the following time scale component:

+

[i]["K"]

+

Where,

+ +

+ [i] represents the ordinal day number in the calendar week; +valid values of [i] are the integers 1 to 7, representing Monday to Sunday, +in accordance with "The week calendar" specified in ISO 8601-1:--, Clause 4.2.2. +

+ +
EXAMPLE 1 +

'1K', calendar day of week Monday

+

 

+
EXAMPLE 2 +

'3K', calendar day of week Wednesday

+

 

+
EXAMPLE 3 +

'7K', calendar day of week Sunday

+
+

4.3.7. Calendar day of year

The calendar day of year is represented as the following time scale component:

+

[i]["O"]

+
EXAMPLE +

'351O', ordinal day 351 of the calendar year

+
+

4.3.8. Clock hour and hours duration

Clock hour and hours duration is represented as follows:

+

[i]["H"]

+
EXAMPLE 1 +

'36H', duration, thirty-six hours.

+

 

+
EXAMPLE 2 +

'6H', time, the sixth clock hour.

+
+

4.3.9. Clock minute and minutes duration

Clock minute and minutes duration is represented as follows:

+

[i]["M"]

+
EXAMPLE 1 +

'72M', duration, 72 minutes.

+

 

+
EXAMPLE 2 +

'56M', time, the fifty-sixth clock minute.

+
+

4.3.10. Clock second and seconds duration

Clock second and seconds duration is represented as follows:

+

[i]["S"]

+
EXAMPLE 1 +

'300S', duration, 300 seconds

+

 

+
EXAMPLE 2 +

'28S', duration, the twenty-eighth clock second.

+
+

4.3.11. Decade

The decade is represented as the following time scale component:

+

[i]["J"]

+
EXAMPLE 1 +

'196J' in explicit form represents the decade of the 1960s, spanning the calendar years 1960 to 1969.

+

 

+
EXAMPLE 2 +

'0J' in explicit form represents the decade spanning calendar years 0 to 9.

+
+

4.3.12. Century

The century is represented as the following time scale component:

+

[i]["C"]

+
EXAMPLE 1 +

'16C', in explicit form represents the century of 1600s, spanning the calendar years 1600 to 1699.

+

 

+
EXAMPLE 2 +

'0C', in explicit form represents the century spanning the calendar years 00 to 99.

+
+

4.4. Negative values

4.4.1. General

Certain time scale components are allowed to accept a negative integer as their value. The following representation is used for value that accepts a positive or negative integer.

+

negi = [!]["`-`"][i]

+

In order to convert a time scale component to accept negative values, the following representation is used, where c is a time scale component unit. If the time scale component accepts an integer value of '0', the value of the expression '-0' (negative zero) is considered equivalent to that of '0'.

+

c(m) = [negi][c]

+

Where,

+ +

+ [c] is the time scale component representation that accepts only positive [i]; +

+

+ [m] is a feature label indicating that the time scale component [c] accepts negative values. +

+ +

This representation only applies to time scale components that describe a time scale unit. Specifically, it does not apply to durations, time intervals, and repeating time intervals.

+
EXAMPLE +

If "c" is the time scale component yearE in explicit form (see Part 1 4.3.2 b)), c(m) means "calendar year accepting a negative value". The explicit year representation [i]["Y"] becomes [negi]["Y"] when [i] is replaced with [negi], and expands to [!]["-"]][i]["Y"], which accepts the representations [i]["Y`"] or ["-"]"Y"]. In this expression, the value of [i] or ["-"`][i] represents an integer whose value identifies a calendar year.

+
+

4.4.2. Calendar year

When a negative calendar year represents a date, the negative value is +to represent the number of years prior to year zero (0).

+

The representation for calendar year that accepts a negative value is as follows.

+

year(m)

+
EXAMPLE 1 +

'-12Y' in date represents the the calendar year -12.

+

 

+
EXAMPLE 2 +

'-1Y' in date represents the year immediately preceding year 0.

+
+

NOTE  Year zero is expressed as '0Y' in explicit form.

+

4.4.3. Calendar week of year

When a negative calendar week of year represents a date, the negative +value is to represent the number of weeks counting in reverse from the +end of the calendar year, where the last week of the year is +represented by the integer value '-1'.

+

The representation for calendar week of year that accepts a negative value is as follows.

+

week(m)

+
EXAMPLE 1 +

'-10W' in date represents the tenth last week of the year.

+

 

+
EXAMPLE 2 +

'-3W' in date represents the third last week of the year.

+
+

4.4.4. Calendar day of month

When a negative calendar day of month represents a date, the negative +value is to represent the number of days counting in reverse from the +end of the calendar month, where the last day of the month is +represented by the integer value '-1'.

+

The representation for calendar day of month that accepts a negative value is as follows.

+

day(m)

+
EXAMPLE 1 +

'-1D' in date represents the last day of the month.

+

 

+
EXAMPLE 2 +

'-5D' in date represents the fifth last day of the month.

+
+

4.4.5. Calendar day of year

When a negative calendar day of year represents a date, the negative value is to represent the number of days counting in reverse from the end of the calendar year, where the last day of the year is represented by the integer value '-1'.

+

The representation for calendar day of year that accepts a negative value is as follows.

+

dayo(m)

+
EXAMPLE 1 +

'-7O' in date represents the seventh last day of the calendar year, which is always December 25th.

+

 

+
EXAMPLE 2 +

'-306O' in date represents February 29th for a leap year, February 28th otherwise.

+
+

4.4.6. Duration

A duration in the reverse direction, called a "negative duration" in +this document, can be expressed using the following representation +based on the duration representation specified in +ISO 8601-2:--, Clause 5.4.2. +In this case, all time scale component within the duration +representation must be positive.

+

duration(m) = [!]["`-"`][positive-duration]

+

Where,

+ +

+ [positive-duration] is the [duration] representation that contains only time scale components that have positive [i]. +

+ +
EXAMPLE 1 +

'-P100D' in date represents the duration of 100 days in the reverse direction.

+

 

+
EXAMPLE 2 +

'-P1Y3D' in date represents the duration of one years and three days in the reverse direction.

+

 

+
EXAMPLE 3 +

'-P20Y3M' describes a negative duration of twenty years and three months ago.

+
+

4.4.7. Calendar year before year one

A suffix addition to time scale components for calendar year, decade and century +allows representation of calendar years before year one (1).

+

The representation is given as follows.

+

[c]["B"]

+

Where,

+ +

+ [c] is one of [yearE], [decE], [centE]. +

+ +
EXAMPLE 1 +

'1YB' the first year before year one, equivalent to the effect of '0Y'.

+

 

+
EXAMPLE 2 +

'12YB' the twelfth year before year one, equivalent to the effect of '-11Y'.

+

 

+
EXAMPLE 3 +

'12JB' the twelfth decade before year one, equivalent to the effect of time interval +'-119/-110'.

+

 

+
EXAMPLE 4 +

'12CB' the twelfth century before year one, equivalent to the effect of time interval +'-1190/-1100'.

+
+
+
+

5.  Grouped time scale units

+

5.1. General

+ +

A time scale unit can be grouped into a larger composite unit that +can each be specifically referred to using representations provided +in this clause.

+
+

5.2. Unit definition

A grouped time scale unit ("grouped unit") defines a time scale unit +that is a composite of smaller time scale units. +Its representation is provided as follows +and is denoted as [groupUnit] in this document.

+

["G"][durationUnits]["U"]

+

Where,

+ +

+ ["G"] is the grouping prefix designator; +

+

+ ["U"] is the grouping suffix designator; +

+

+ [durationUnits], one or more time scale components for +expressing positive duration as specified in +duration-general. +

+ +

The definition of a grouped unit is a continuous one, such that there is no gap between two adjacent grouped units.

+
EXAMPLE 1 +

'G10DU', every unit of the grouped unit is of ten days duration.

+

 

+
EXAMPLE 2 +

'GT30MU', every unit of the grouped unit is of thirty minutes duration.

+

 

+
EXAMPLE 3 +

'G2DT6HU', every unit of the grouped unit is of two days and six hours duration.

+
+

5.3. Unit value

The value of a grouped time scale unit is given with +the following representation. +This representation is denoted as [group] in this document.

+

group = [i][groupUnit]

+

Where,

+ +

+ [i] indicates the coefficient value of the grouped time scale unit; +

+

+ [groupUnit] denotes an expression for a grouped time scale unit +(grouping-unit). +

+ +
EXAMPLE 1 +

'5G10DU', the fifth unit of ten-day groups.

+

 

+
EXAMPLE 2 +

'20GT30MU', the twentieth unit of thirty-minute groups.

+

 

+
EXAMPLE 3 +

'2G2DT6HU', the second unit of two-day groups.

+

 

+
EXAMPLE 4 +

'2018-02-GP14D2I' and '2018Y02MGP14D2ID' are complete date representations that indicates "the second fortnight of February 2018", as specified by the rule "group every 14 days, second group".

+

 

+
EXAMPLE 5 +

'2018-03-GP10D3I' and '2018Y03MGP10D3ID' are complete date representations that indicates "the third 10-day block of March in 2018", as specified by the rule "group every 10 days, third group". A 10-day block is a time grouping commonly used in East Asia.

+

 

+
EXAMPLE 6 +

’16:GPT15M1I:00’ and 'T16HGPT15M1I0S' are complete time representations that indicates "the first quarter-hour of 16:00", as specified by the rule "group every 15 minutes, first group".

+

 

+
EXAMPLE 7 +

'2018-GP6M1I' and '2018YGP6M1IM' are date expressions (implied and explicit formats, respectively) of monthly precision that indicates "the first half of 2018", as specified by the rule "group every 6 months, first group", and therefore the grouping is specified in the [month] field. The resulting time interval is equivalent to the time interval expression '2018-01-01/2018-06-30'.

+
+

5.4. Application within representations

5.4.1. General

Grouped time scale units can be applied to date and time representations as +replacements for any time scale unit components as +long as the resulting expression is a valid one.

+
EXAMPLE 1 +

2018Y3G60DU6D is a valid date expression that refers to the date +year 2018, ordinal day of year 186 (which is July 5th).

+

 

+
EXAMPLE 2 +

2018Y9M2DT2GT8HU0H30M is a valid date and time expression that +refers to the date year 2018, September 2nd, 16:30.

+
+

5.4.2. Use of grouped units

Date and time representations can incorporate the grouped +time scale units by applying rules from Clause 5.2 +and Clause 5.3 to a date and time representation +described by this document and ISO 8601-1:--, by +replacing a time scale unit component in the representations +with [group].

+

The following representation is used for date and time +representations (complete representation, reduced precision) +that incorporate grouped time scale units. This +representation is denoted as [groupDateTime] in this document.

+

[higher-order-units][group][lower-units]

+

Where,

+ +

+ [higher-order-units] contains time scale units (and their +values) that are of higher order compared to the highest order time +scale unit within the group unit; +

+

+ [lower-order-units] is optional, it contains time scale +units (and their values) that are of equal or lower order compared to +the lowest order time scale unit within the group unit. +

+ +
EXAMPLE 1 +

[monthE][group][yearE] is an invalid date and time representation +as [monthE] has a lower order than that of [yearE].

+
+

When [lower-order-units] is omitted, the expression refers +to a unit of the grouped time scale unit.

+
EXAMPLE 2 +

[centE][group] is a valid date and time representation, +expressing in units of the grouped time scale unit.

+

 

+
EXAMPLE 3 +

'2018Y1G60DU' represents the first 60-day group of the +year 2018.

+

 

+
EXAMPLE 4 +

'2018Y2M2G14DU' refers to the second 14-day group +in February of year 2018, which is in effect referring to +"the second fortnight of February 2018".

+

 

+
EXAMPLE 5 +

'2018Y3M3G10DU' refers to the third 10-day block of March +in 2018. A 10-day block is a time grouping commonly used +in East Asia.

+

 

+
EXAMPLE 6 +

'T16H1GT15MU' refers to the first quarter-hour of 16:00.

+
+

When [lower-order-units] is present, the expression refers +to a date and time using the lowest time scale unit in the +[lower-order-units] expression.

+

Time scale components placed to the right of a grouped +time scale unit behaves identically to those after a typical +time scale component, such that the component to the right +refers to an instance or time interval "within" the +component at the left.

+
EXAMPLE 7 +

[yearE][group][dayE] is a valid date and time representation, +expressing in the calendar day time scale unit. The [dayE] +points to a calendar day within the expression [yearE][group].

+

 

+
EXAMPLE 8 +

[decE][group][timeE] is a valid date and time representation, +expressing in the lowest order time scale units specified in +[timeE], which is the clock second time scale unit. The [timeE] +points to a clock time within the expression [decE][group].

+

 

+
EXAMPLE 9 +

'2018Y3G60DU6D' represents the sixth day of the third +60-day group of the year 2018.

+

 

+
EXAMPLE 10 +

'2018Y20GT12HU3H' represents the third hour within the +twentieth 12-hour group of the year 2018.

+
+

5.4.3. Adherence to grouped unit boundaries

Time scale unit values provided in [lower-order-units] must +not fall outside of the value bounds set by the group time scale unit +(the [group] expression).

+
EXAMPLE 1 +

'2018Y1G2MU30D' refers to the thirtieth day of the first +two-month group in year 2018. Since the first two-month group +of 2018 contains 59 days, the subsequent expression 30D falls +within the same grouped time scale unit.

+

 

+
EXAMPLE 2 +

'2018Y1G2MU60D' refers to the sixtieth day of the first +two-month group in year 2018. It is an invalid expression +as the first two-month group of 2018 only contains 59 days, +the expression 60D falls outside of the same grouped +time scale unit.

+
+

5.4.4. Representation with time shift

A representation using grouped time scale units can be represented +with a time shift as:

+

[groupDateTime][shiftE]

+
EXAMPLE 1 +

'2018Y1G60DUZ-5H', the first 60-day group of the year 2018, +five hours behind UTC.

+

 

+
EXAMPLE 2 +

'2018Y3G60DU6DZ8H' represents the sixth day of the third +60-day group of the year 2018, eight hours ahead of UTC.

+
+

5.4.5. Conversion to basic time scale units

5.4.5.1. General

When an expression referring to a grouped time scale +unit has to be converted to use basic time scale units +(time scale units that are defined in Clause 4), +it can be converted into a time interval.

+
EXAMPLE +

'2018Y1G6MU' refers to the first 6-month group of year 2018. +The resulting time interval is equivalent to that of the time interval +expression '2018Y1M/2018Y6M'.

+
+

5.4.5.2. Truncation of partial units

When the duration of a grouped time scale unit does not cleanly +divide the original time scale component, the duration of +the last unit of the grouped time scale is only partially +located within the boundaries specified by the original time scale component.

+

In this case, the particular grouped time scale unit refers only +to the duration that is within bounds of the original time +scale component. The remaining duration that are out +of bounds shall be truncated.

+
EXAMPLE +

2018Y9M4G8DU refers to the +"fourth 8-day grouping of September of year 2018", +but the fourth grouped unit only has 6 days within September +and 2 days in October. According to the truncation rule, only +the first 6 days belong to this grouped unit, and the resulting +time interval is 2018-09-25/2018-09-30.

+
+

5.4.5.3. Spanning grouped unit boundaries

In order to express a time interval covered by the grouped +unit without regard to the boundaries of the original time component, +the same expression can be provided using time interval representation.

+
EXAMPLE +

2018Y9M4G8DU, "fourth 8-day grouping of September of year 2018", +the start date of the fourth grouped unit can be found as 2018Y9M25D. +Therefore, the expression of 2018Y9M25D/P8D provides the full 8-day +duration of the unit, in the interval 2018Y9M25D/2018Y10M2.

+
+
+
+

6.  Explicit representations

+

6.1. General

+ +

This section provides date and time representations using explicit form.

+
+

6.2. Date

6.2.1. General

+ +

The representations provided in this clause are collectively denoted as [dateE].

+
+

6.2.2. Calendar date

The complete representation of a calendar date shall be as follows.

+

[yearE][monthE][dayE]

+
EXAMPLE +

'1985Y4M12D', calendar year 1985, April 12th.

+
+

6.2.3. Ordinal date

A complete representation of an ordinal date shall be as follows.

+

[yearE][dayoE]

+
EXAMPLE +

'1985Y102O', calendar year 1985, ordinal day 102 of year.

+
+

6.2.4. Week date

A complete representation of a week date shall be as follows.

+

[yearE][weekE][daykE]

+
EXAMPLE +

'1985Y15W5K', calendar year 1985, Friday of the calendar week 15.

+
+

6.3. Time of day

6.3.1. Local time of day

Representations of local time of day as defined below make no +provisions to prevent ambiguities in expressions that result from +discontinuities in the local time scale (e.g. daylight-saving time). +When the need arises to prevent these ambiguities, the representations +provided in Clause 6.6 may serve useful.

+

A complete representation of local time of day shall be as follows. +This representation shall be denoted as [timeE].

+

["T"][hourE][minE][secE]

+
EXAMPLE +

'T23H20M50S', a local time of day expression describing the fiftieth +seconds of the twentieth minute of the twenty-third clock hour.

+
+

6.3.2. Beginning of the day

The complete representation of beginning of day in explicit form shall +be as follows.

+

T0H0M0S

+

Applying the rule of omitting zero-valued time scale components, it can also +be represented as:

+

T0S

+

There is no representation of end of day to prevent ambiguity of the +overlapping end of day and the beginning of the next day.

+

6.4. Time shift

A time shift is used to represent the shift of local standard time +against UTC.

+

The complete representation of time shift in explicit form is represented +as follows, and is denoted as [shiftE] within this document.

+

["Z"][!]["-"][timeE]

+

Where,

+ +

+ ["Z"] is the time shift designator; +

+

+ the leading minus sign (["-"]) is only applied when the time shift +expressed is behind UTC, it shall be omitted if the time shift is +ahead of or equal to UTC; +

+

+ the expression [timeE] indicates the actual time shift from UTC. +

+ +

In accordance with Clause 6.10, zero-valued +time scale components may be omitted in [timeE].

+
EXAMPLE 1 +

'Z-5H', the time shift is 5 hours behind UTC.

+

 

+
EXAMPLE 2 +

'Z8H', the time shift is 8 hours ahead of UTC.

+

 

+
EXAMPLE 3 +

'Z6H0M', the time shift is six hours ahead of UTC; the expression '0M' may be omitted +in accordance with Clause 6.10.

+

 

+
EXAMPLE 4 +

'Z8H30M10S', the time shift is eight hours, thirty minutes and ten seconds ahead of UTC.

+
+

A single ["Z"] with the [timeE] portion empty, in accordance with the +rules specified in Clause 6.10, indicates that the +time shift from UTC of day is zero, and is functionally equivalent to +the representation 'Z0H0M'.

+

["Z"]

+
EXAMPLE 5 +

'Z', UTC where the time shift is zero.

+

 

+
EXAMPLE 6 +

'Z0H0M', UTC where the time shift is zero.

+
+

6.5. Date with shift

The complete representation for date with a time shift is as follows.

+

[dateE][shiftE]

+
EXAMPLE +

'1985Y4M12DZ-5H', calendar year 1985, April 12th with a time shift of 5 hours behind UTC.

+
+

6.6. Time of day with time shift

The complete representation for time of day with a time shift is as follows.

+

[timeE][shiftE]

+
EXAMPLE 1 +

'T23H20M50SZ', 23:20:50 at UTC of day.

+

 

+
EXAMPLE 2 +

'T23H20M50SZ-5H0M', 23:20:50 at local time, which is 5 hours behind UTC.

+

 

+
EXAMPLE 3 +

'T23H20M50SZ8H', 23:20:50 at local time, which is 8 hours ahead of UTC.

+
+

6.7. Date and time of day

A time can be expressed by combining a date expression (Clause 6.2) +with a time of day expression (Clause 6.3).

+

The date part of a date and time expression must be complete. The time +may be incomplete (Clause 6.13).

+

The representations provided in this clause are collectively denoted as +[datetimeE].

+

6.7.1. Date and time only

The complete representation for date and time only is as follows.

+

[dateE][timeE]

+
EXAMPLE +

'1985Y4M12DT23H20M30S', calendar year 1985, April 12th, 23:20:30.

+
+

6.7.2. Date and time with shift

The complete representation for date with time and a time shift is as follows.

+

[dateE][timeE][shiftE]

+
EXAMPLE +

'1985Y4M12DT23H20M30SZ8H', calendar year 1985, April 12th, 23:20:30, 8 hours ahead of UTC.

+
+

6.8. Decade

The complete representation for decade is as follows.

+

[decE]

+
EXAMPLE +

'1880', the decade 1880s, spanning years from 1880 to 1889.

+
+

6.9. Century

The complete representation for century is as follows.

+

[centE]

+
EXAMPLE +

'1300', the century 1300s, spanning years from 1300 to 1399.

+
+

6.10. Omission of zero valued components

Time scale components within an explicit form that has a value of 0 may be omitted entirely with its corresponding designator, except when the omission of it affects the indication of precision.

+

In the representations given in this clause, if a time scale component of a higher order (compared to the lowest order component specified in the representation) is omitted, it is assumed to have the value "0" as long as the time scale component accepts the value "0" (ISO 8601-1:--, Clause 4.3).

+
EXAMPLE 1 +

'1985Y4M15DT15H0M10S' and '1985Y4M15DT15H10S' can be both used to express +the time 3:00:10 p.m. on April 15th, 1985 in the Gregorian calendar.

+

 

+
EXAMPLE 2 +

'1988Y3M1DT2H0M0S' and '1988Y3M1DT2H' are unequal representations where the former expression has seconds precision, and the latter expression has hour precision.

+

 

+
EXAMPLE 3 +

'2018Y8M8DT30M0SZ': indicates the date 8th August 2018 at time 00:30:00 in UTC time of day Since the "hour" component is omitted and "seconds" included, the hour is assumed to be zero, and the expression has seconds precision. This is equivalent to the expression '2018Y08M08DT30M0SZ' in which zero padding is applied to calendar month and calendar day.

+
+

6.11. Indication of precision

The lowest denoted time scale component in a date and time representation +indicates the precision level of the representation.

+
EXAMPLE 1 +

'1985Y4M' has calendar month precision.

+

 

+
EXAMPLE 2 +

'1985Y4M12DT2H' has clock hour precision.

+

 

+
EXAMPLE 3 +

'1985Y4M12DT30M' has clock minute precision, where the clock hour time +scale component is a zero-valued omission.

+
+

6.12. Decimal fractions for time

A decimal fraction of hour, minute or second may be included in an expression in accordance with ISO 8601-1:--, Clause 5.2.1.4.

+
EXAMPLE 1 +

'2018Y8M8DT0,5H': indicates the date 8th August 2018 at time 00:30 with minutes precision.

+

 

+
EXAMPLE 2 +

'2018Y8M8DT10H30.5M': indicates the date 8th August 2018 at time 10:30:30 with seconds precision.

+

 

+
EXAMPLE 3 +

'2018Y8M8DT10H30M15,3S': indicates the date 8th August 2018 at time 10:30:15 plus 300ms with sub-second precision.

+
+

6.13. Representations other than complete

Any of the representations given in this clause may be modified for reduced precision +(Clause 6.11) and decimal representation (Clause 6.12).

+
EXAMPLE 1 +

'2018Y8M': indicates the date August 2018 with calendar month precision.

+

 

+
EXAMPLE 2 +

'2018Y8M8DT30M': indicates the date 8th August 2018 at time 00:30 with minute precision. Since the "hour" component is omitted, it is assumed to be zero because it is of a higher order than the lowest order component specified in the representation (here, "minutes). The omitted "`second" component does not form part of the representation because it is of a lower order than the lowest order component.

+
+

6.14. Time interval

6.14.1. General

A time interval shall be expressed by a start and an end date. +A solidus ["/"] is used as a separator to separate the two start and +end dates.

+

The complete representation of a time interval is defined as follows.

+

[datetimeE]["/"][datetimeE]

+
EXAMPLE +

'1985Y4M12DT23H20M50S/1985Y6M25DT10H30M0S', time interval beginning at +20 minutes and 50 seconds past 23 hours on 12 April 1985 local time of +day and ending at 30 minutes past 10 hours on 25 June 1985 local time +of day.

+
+

6.14.2. Duration substitution

Providing a duration as an alternative to either a start or end date is +acceptable, given the start and end dates can be inferred from the given +duration of the time interval.

+
EXAMPLE 1 +

'1985Y4M12DT23H20M50S/P3D'

+

 

+
EXAMPLE 2 +

'P3D/1985Y4M12DT23H20M50S'

+
+

6.14.3. Time scale component order

For expression of a time interval by a start and an end, higher order +time scale components may be omitted from the "end of time interval", +provided that the resulting expression is unambiguous. In this case the +omitted higher order components from the "start of time interval" +expression apply.

+
EXAMPLE +

'2018Y1M15D/2M20D' represents '2018Y1M15D/2018Y2M20D' as the expression +'2M20D' unambiguously refers to the calendar month and calendar day +components, and the higher order components can be inherited from the +start date expression.

+
+

6.14.4. Time shift indication

Representations for time zones and UTC included with the component +preceding the separator shall be assumed to apply to the component +following the separator, unless a corresponding alternative is included.

+
EXAMPLE +

'2018Y1M15DZ5Y0M/2018Y2M20D' is equivalent to +'2018Y1M15DZ5Y0M/2018Y2M20DZ5Y0M' as the 'Z5H0M' time shift also +applies to the expression after the separator.

+
+
+
+

7.  Explicit duration

+

7.1. General

Duration can be expressed by a combination of time scale units +in explicit form — years, months, weeks, days, hours, minutes, and seconds.

+

These time scale components are specified in +Clause 4, and are used to specify +positive duration.

+

7.2. Durational units

Time scale unit components are used to compose a duration expression, +and are defined as "durational units".

+

The following time scale components can be combined +to form a representation denoted as [durationUnits] +for the expression of duration.

+

[yearE][monthE][weekE][dayE]["T"][hourE][minuteE][secondE]

+

Where,

+ +

+ each time scale component acting as a durational unit +(such as [monthE]) may be omitted; +

+

+ the time designator symbol ["T"] is used to separate +the time scale components relating to the clock from those of +the calendar. +

+ +

Within [durationUnits], time scale components of higher order +shall be expressed before those of lower order.

+

7.3. Representations

7.3.1. General

+ +

The following representations are both considered complete +representations of duration.

+
+

7.3.2. Composite representation

The composite representation of a duration, fully accepting +expressions of the duration representation given in +ISO 8601-1:--, Clause 5.2.3, is given as follows.

+

[!]["-"]["P"][durationUnits]

+

Where,

+ +

+ [durationUnits] contains time scale components for expressing +positive duration. +

+ +
EXAMPLE 1 +

'P3D', duration of three days.

+

 

+
EXAMPLE 2 +

'P3W2D', duration of three weeks and two days, which is 23 days, as +equivalent to the expression of 'P23D'.

+

 

+
EXAMPLE 3 +

'P180Y800D', duration of one-hundred-and-eighty years and eight-hundred days.

+
+

NOTE  The exact duration for some time scale components can only be +known when placed on the actual time scale.

+

7.3.3. Precedence representation

The precedence representation of a duration is used for specifying +author intent in the evaluation order of time scale components within +a duration.

+

The representation of calendar duration time scale components +(denoted as [calendarD]) is provided as follows.

+

["P"][calendarDU]

+

Where,

+ +

+ [calendarDU] is one of [yearE], [monthE], [weekE], [dayE]. +

+ +
EXAMPLE 1 +

P3D describes a duration of three days, in accordance with [calendarD].

+
+

The representation of clock duration time scale components +(denoted as [clockD]) is provided as follows.

+

["P"]["T"][clockDU]

+

Where,

+ +

+ [clockDU] is one of [hourE], [minuteE], [secondE]. +

+ +
EXAMPLE 2 +

PT8H describes a duration of eight hours, in accordance with [clockD].

+
+

The duration precedence representation is described as follows, +denoted as [durationP].

+

[!]["-"][durC-1][durC-2]...[durC-n]

+

Where,

+ +

+ [durC-i] is either [calendarD] or [clockD]; +

+

+ the order of the [durC-i] components is used to determine the +evaluation precedence order of the duration statement [durationP]. +

+ +
EXAMPLE 3 +

P1YP3MP2D describes a duration of one year, three months +and two days, to be evaluated in the order as described.

+

 

+
EXAMPLE 4 +

P2DP3MP1Y describes a duration of two days, three months +and one year, to be evaluated in the order as described.

+

 

+
EXAMPLE 5 +

PT10HP2DP3MP1Y describes a duration of ten hours, two days, three months +and one year, to be evaluated in the order as described.

+
+

7.4. Negative duration

A duration with a negative value represents a duration in the reverse +direction of the proceeding time scale.

+
EXAMPLE 1 +

-P20Y3M describes a negative duration of twenty years and three months ago.

+

 

+
EXAMPLE 2 +

-P2DP3MP1Y describes a negative duration of two days, three months +and one year, to be evaluated in the order as described.

+
+

7.5. Fractional duration

+ +

A duration representation can be modified to accept a fractional value +in place of any [i] specified in a durational time scale component.

+
+

7.6. Exact duration

7.6.1. General

+ +

This clause describes methods to resolve exact duration in +face of ambiguities.

+
+

7.6.2. Context-dependent duration

The exact duration of some time scale units can only be known +when placed on the actual time scale.

+
EXAMPLE 1 +

'P1Y' duration could be 365 or 366 calendar days depending on +whether the year is a leap year.

+

 

+
EXAMPLE 2 +

'P3M' duration could be 90, 91, 92 days depending on the actual +calendar months and calendar year.

+

 

+
EXAMPLE 3 +

'PT1M' duration is normally 60 seconds, but when the minute is the +last minute of the year, it could be 59, 60 or 61 seconds long +depending on whether a leap second is applied.

+

 

+
EXAMPLE 4 +

'P1Y2M15DT12H30M', duration of 1 year, 2 months, 15 days, 12 hours +and 30 minutes. The actual duration of the involved calendar months can +only be known when the duration is placed on an actual start date.

+
+

7.6.3. Speculative duration

The exact duration of certain time scale unit may only be known +after an event occurs.

+

There is no universal rule to calculate leap seconds in advance, since +the decision to insert a leap second is driven by a number of dynamic +factors and only known when announced by the BIPM.

+

Specifically, the exact duration of the last clock minute of a +calendar year can only be known after it is announced by the BIPM, +whether a leap second has or will occur (in UTC). +This event is described in this document to occur at the +"leap second horizon date" for a calendar year.

+

The exact duration of the last clock minute in a calendar year +is one of the following duration:

+ +

+ when there is a positive leap second, 61 clock seconds; +

+

+ when there is no leap second, 60 clock seconds; and +

+

+ when there is a negative leap second, 59 clock seconds. +

+ +

For the accuracy of general purposes, it is acceptable to assume +the last clock minute always contains 60 clock seconds, just like +any other clock minute.

+

For cases where durational accuracy at the clock second level is +of importance, the following steps shall be taken:

+ +

+ When calculating exact duration prior to the leap second horizon +date of a specific calendar year involved, the last clock +minute is assumed to have no leap second, such that 59 is always +the last second of the year; +

+

+ When calculating exact duration after the leap second horizon +date of a specific calendar year involved, the last clock +minute shall reflect the actual duration. +

+ +
EXAMPLE 1 +

'P3000Y12M31DT23H59M' is considered to have a duration of 60 clock seconds, +as the calendar year 3000’s leap second horizon date has not yet +occurred.

+

 

+
EXAMPLE 2 +

'P2016Y12M31DT23H59M' is considered to have a duration of 61 clock seconds, +since the leap second horizon date has already occurred, and it is known +that a positive leap second assigned to the calendar year 2016.

+
+
+
+

8.  Evaluation of date and time with duration

+

8.1. General

A date and time representation is modified by a duration +in many cases, including the calculation for:

+ +

+ time intervals when given duration as a start or end; +

+

+ boundaries of grouped time scale units (Clause 5); +

+

+ conversion between of UTC of day and local time of day via time shifts; and +

+

+ occurrences of recurring time intervals. +

+ +

This clause provides methods to calculate a consistent result +date and time, given an origin date and time ("origin") +and a duration time scale component (duration) to apply.

+

Modification of a date and time representation with +a duration is described using the following representation, +called a "date time formula".

+

resolve(date, duration)

+

or

+

date + duration

+
EXAMPLE +

2018Y9M10D + P1D is a date time formula.

+
+

8.2. Prerequisite mechanisms

8.2.1. Carry-over of overflow in time scale components

An "overflow" of a date and time expression is defined as assigning a +value exceeding the maximum value accepted by the time scale component.

+
EXAMPLE 1 +

An increase of P1M (duration) to 2018Y12M (date) will result in the expression +2018Y13M, where the month component is overflowed with value 13.

+
+

An overflow is considered resolved once the overflowed time scale unit +has transferred its excess to the immediate higher order time scale +component.

+
EXAMPLE 2 +

The overflowed expression 2018Y13M can be resolved to 2019Y1M.

+
+

An overflow can cause multiple carry-overs when the overflow not only +causes the immediate higher order time scale component to overflow, but +also subsequent higher order components.

+
EXAMPLE 3 +

The overflowed expression 2018Y12M366D can be resolved to 2018Y24M1D +(which still contains an overflow), which can be resolved to +2019Y12M1D (where there is no more overflow).

+
+

8.2.2. Truncation at time scale component boundaries

A modification made to a higher order time scale component may +cause the value of a lower order time scale component to go beyond +its value boundaries. This condition is described as +"out of bounds" of a date and time expression.

+

This situation occurs when a modification is made to the values of +certain time scale components, because a lower order component +always has its maximum value bound by its immediate higher order +component:

+ +

+ clock minute (clock second value of 60 is only valid for a leap +second); +

+

+ calendar month (calendar day values 29, 30, 31 are invalid for +some months); and +

+

+ calendar year (ordinal day value of 366 and calendar month/day +combination of February 29th is only valid for a leap year). +

+ +
EXAMPLE 1 +

An increase of P1M (duration) to 2018Y1M31D (date) will result in +the expression 2018Y2M31D, which is an invalid date representation +as the calendar day value of 31 has exceeded the boundary of its +immediate higher order component, the month 2 (February).

+

 

+
EXAMPLE 2 +

An increase of P1Y (duration) to 2016Y12M31DT23H59M60S (date) will result in +the expression 2017Y12M31DT23H59M60S, which is an invalid date representation +as the clock second value of 60 has exceeded the boundary of its +immediate higher order component, the clock minute with its last second +at 59.

+
+

An out of bounds situation is considered resolved once the excess +value is truncated at the violating (lower order) time scale component.

+
EXAMPLE 3 +

The out of bounds expression 2019Y2M29D`" can be truncated to `2019Y2M28D.

+

 

+
EXAMPLE 4 +

The out of bounds expression 2020Y366O`" can be truncated to `2020Y365O.

+
+

8.3. Simple duration

A simple duration is a duration expression with only +a single time scale component.

+

Evaluation of a date time formula that contains a simple duration +is to directly apply the durational unit to the corresponding +time scale component of the date and time representation +and applying carry-over.

+

The steps are as follows:

+ +

+ Take the value of the time scale component in the simple duration, +directly modify the value of the corresponding time scale component +in the date and time representation. +

+

+ In the resulting date and time representation, start from the +lowest order overflowed time scale component, perform carry-over +until there is no more overflow in the representation. +

+

+ If any time scale components have become invalid, apply +truncation to them. +

+

+ The resulting date and time representation is complete. +

+ +
EXAMPLE

Calculation of 2022Y2M28D + P3D:

+ +

+ Direct modification of date and time representation, obtains 2022Y2M31D. +

+

+ Apply carry-over to overflowed components, obtains 2022Y3M02D. +

+
+

8.4. Composite duration

The method of evaluating of a date time formula with a +composite duration (Clause 7.3.2) is to directly +apply the durational units to the date and time representation +without truncation, and only applying carry-over at the end.

+

The steps are as follows:

+ +

+ For all values of time scale components in the composite duration, +directly modify the values of the corresponding time scale components +in the date and time representation. +

+

+ In the resulting date and time representation, start from the +lowest order overflowed time scale component, perform carry-over +on all overflowed time scale components, until there is no more +overflow in the representation. +

+

+ If any time scale components have become invalid, apply +truncation to them. +

+

+ The resulting date and time representation is complete. +

+ +
EXAMPLE

Calculation of 2022Y2M30D + P1Y3M2D:

+ +

+ Direct modification of date and time representation, obtains 2023Y5M32D. +

+

+ Apply carry-over to overflowed components, obtains 2023Y6M31D. +

+

+ The resulting representation is 2023Y6M31D. +

+
+

8.5. Precedence duration

The method of evaluating of a date time formula with a +precedence duration (Clause 7.3.3) is to apply the +durational units one by one to the date and time representation +with truncation and carry-over at every step.

+

The steps are as follows:

+ +

+ Starting at the left side of the precedence duration expression, +process every durational unit one by one as follows: + +

+ Use the durational unit (which only contains one time scale +component), to modify the corresponding time scale component (the "target component") +in the date and time representation. +

+

+ If the target component has overflowed in the previous step, +perform carry-over (to higher order time scale components), +until there is no more overflow in the representation. +

+

+ If any time scale components of lower order than the +target component have become invalid, apply truncation +to them. +

+ +

+

+ Once all durational units have been processed, the +resulting date and time representation is complete. +

+ +
EXAMPLE 1

Calculation of 2022Y2M29D + P1YP3MP2D:

+ +

+ Process the first durational unit: (2022Y2M29D + P1Y) + P3MP2D. +

+

+ Apply the first durational unit to the date and time representation: +2023Y2M29D + P3MP2D. +

+

+ No carry-over is necessary since there is no overflow. +

+

+ Since 29D is of lower order than the target component (calendar +year), the representation is truncated: 2023Y2M28D + P3MP2D. +

+

+ Process the second durational unit: (2023Y2M28D + P3M) + P2D. +

+

+ Apply the second durational unit to the date and time representation: +2023Y5M28D + P2D. +

+

+ No carry-over is necessary since there is no overflow. +

+

+ No component of lower order than the target component is invalid, +hence truncation is not necessary. +

+

+ Process the third durational unit: 2023Y5M28D + P2D. +

+

+ Apply the third durational unit to the date and time representation: +2023Y5M31D. +

+

+ No carry-over is necessary since there is no overflow. +

+

+ No component of lower order than the target component is invalid, +hence truncation is not necessary. +

+

+ The resulting date and time representation is 2023Y5M31D. +

+

 

+
EXAMPLE 2

Calculation of 2022Y2M29D + P2DP3MP1Y:

+ +

+ Process the first durational unit: (2022Y2M29D + P2D) + P3MP1Y. +

+

+ Apply the first durational unit to the date and time representation: +2022Y2M31D + P3MP1Y. +

+

+ Carry-over is necessary since there is the target component has overflowed: +2022Y3M2D + P3MP1Y. +

+

+ No component of lower order than the target component is invalid, +hence truncation is not necessary. +

+

+ Process the second durational unit: (2022Y3M2D + P3M) + P1Y. +

+

+ Apply the second durational unit to the date and time representation: +2022Y6M2D + P1Y. +

+

+ No carry-over is necessary since there is no overflow. +

+

+ No component of lower order than the target component is invalid, +hence truncation is not necessary. +

+

+ Process the third durational unit: 2022Y6M2D + P1Y. +

+

+ Apply the third durational unit to the date and time representation: +2023Y6M2D. +

+

+ No carry-over is necessary since there is no overflow. +

+

+ No component of lower order than the target component is invalid, +hence truncation is not necessary. +

+

+ The resulting date and time representation is P1Y. +

+
+

8.6. Involving fractional duration

When fractional duration (Clause 7.5) is applied +to context-dependent durational units (Clause 7.6.2), +it is necessary to resolve the fractional duration in context.

+
EXAMPLE 1 +

The expression P0.5M ("half a month") is ambiguous because +the exact duration of a calendar month depends on its context, +and that the context for which P0.5M is anchored to is unclear.

+
+

The duration of a fractional, context-dependent, durational unit +can be obtained by first calculating a single unit of the durational +unit in context, such that, the exact duration for the durational +unit in whole (e.g. "P1M") becomes known. Once the exact duration +of a single unit is known, the duration of the fractional unit can +be calculated.

+

date + frac-dur =
  duration(date + unit(frac-dur), date) × value(frac-dur) + date

+

Where,

+ +

+ unit(frac-dur) is the value of a single unit used in the duration frac-dur; +

+

+ value(frac-dur) is the fractional value used with the duration frac-dur; +

+

+ duration(date1, date2) is a function to calculate the duration between two dates or times, +such as Clause 8.4 or Clause 8.5. +

+ +

Given that "date + unit(frac-dur)" can be calculated, this +method always produces a consistent value.

+
EXAMPLE 2

Given the expression: 2018-01-23 + P0.5M:

+ +

+ It is rephrased as duration(2018-01-23 + P1M, 2018-01-23) × 0.5 + 2018-01-23. +

+

+ It is reduced to duration(2018-02-23, 2018-01-23). +

+

+ Then P31D × 0.5 + 2018-01-23. +

+

+ Then P15.5D + 2018-01-23. +

+

+ Since P15.5D is an exact duration (duration of calendar day is +known), P15.5D + 2018-01-23`" is resolvable and gives the final result`2018-02-07T12:00:00. +

+
+

8.7. Involving speculative duration

As described in Clause 7.6.3, there is no universal +rule to calculate leap seconds in advance, since the decision +to insert a leap second is driven by a number of dynamic +factors and only known when announced by the BIPM.

+

The rules specified in Clause 7.6.3 are used +to evaluate a date time formula that involves leap seconds.

+
EXAMPLE 1

This example applies identically with or without a leap second. Given the expression: 2018-12-31T23:59:59 + PT1M:

+ +

+ Apply the durational unit clock minute directly to the representation: 2018-12-31T23:60:59 +

+

+ Since 59 is the last clock minute, treat the overflow with carry-over: 2018-12-31T24:00:59 +

+

+ Since 23 is the last clock hour, treat the overflow with carry-over: 2018-12-32T00:00:59 +

+

+ Since 31 is the last calendar day of year, treat the overflow with carry-over: 2018-13-01T00:00:59 +

+

+ Since 13 is the last calendar month, treat the overflow with carry-over: 2019-01-01T00:00:59 +

+

+ The resulting expression is 2019-01-01T00:00:59. +

+

 

+
EXAMPLE 2

Given the expression containing a leap second: 2016-12-31T23:59:60 + PT1M:

+ +

+ Apply the durational unit clock minute directly to the representation: 2016-12-31T23:60:60 +

+

+ Since 59 is the last clock minute, treat the overflow with carry-over: 2016-12-31T24:00:60 +

+

+ Since 23 is the last clock hour, treat the overflow with carry-over: 2016-12-32T00:00:60 +

+

+ Since 31 is the last calendar day of year, treat the overflow with carry-over: 2016-13-01T00:00:60 +

+

+ Since 13 is the last calendar month, treat the overflow with carry-over: 2017-01-01T00:00:60 +

+

+ The clock second 60 is out of bounds, it is truncated to the maximum value: 2017-01-01T00:00:59 +

+

+ The resulting expression is 2017-01-01T00:00:59. +

+

 

+
EXAMPLE 3

Given the expression containing a leap second: 2016-12-31T23:59:59 + PT1S:

+ +

+ Apply the durational unit clock second directly to the representation: 2016-12-31T23:59:60 +

+

+ The resulting expression is 2016-12-31T23:59:60. +

+
+
+
+
+

Bibliography

+

[1]  ISO/IEC 646, Information technology — ISO 7-bit coded character set for information interchange

+

[2]  ISO 8601:2004, Data elements and interchange formats — Information interchange — Representation of dates and times

+

[3]  ISO 8601-2:--, Date and time — Representation for information interchange — Part 2: Extensions

+
+
+
+ + + +------=_NextPart_9777c15e.6c32.4720 +Content-Location: file:///C:/Doc/csd-datetime-explicit_files/filelist.xml +Content-Transfer-Encoding: base64 +Content-Type: application/xml + +PHhtbCB4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiPgog +ICAgICAgIDxvOk1haW5GaWxlIEhSZWY9Ii4uL2NzZC1kYXRldGltZS1leHBsaWNpdC5odG0iLz4g +IDxvOkZpbGUgSFJlZj0iZmlsZWxpc3QueG1sIi8+CiAgPG86RmlsZSBIUmVmPSJoZWFkZXIuaHRt +bCIvPgo8L3htbD4K + +------=_NextPart_9777c15e.6c32.4720 +Content-Location: file:///C:/Doc/csd-datetime-explicit_files/header.html +Content-Transfer-Encoding: base64 +Content-Type: text/html charset="utf-8" + +PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpvPSJ1 +cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46c2No +ZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMu +bWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIg0KeG1sbnM6bXY9Imh0dHA6Ly9tYWNW +bWxTY2hlbWFVcmkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0K +PGhlYWQ+DQo8bWV0YSBuYW1lPVRpdGxlIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPUtleXdvcmRz +IGNvbnRlbnQ9IiI+DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0 +L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT1Qcm9nSWQgY29udGVudD1Xb3JkLkRv +Y3VtZW50Pg0KPG1ldGEgbmFtZT1HZW5lcmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUi +Pg0KPG1ldGEgbmFtZT1PcmlnaW5hdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDE1Ij4NCjxs +aW5rIGlkPU1haW4tRmlsZSByZWw9TWFpbi1GaWxlIGhyZWY9Ii4uL2NzZC1kYXRldGltZS1leHBs +aWNpdC5odG1sIj4NCjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMg +djpleHQ9ImVkaXQiIHNwaWRtYXg9IjIwNDkiLz4NCjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFk +Pg0KDQo8Ym9keSBsYW5nPUVOIGxpbms9Ymx1ZSB2bGluaz0iIzk1NEY3MiI+DQoNCjxkaXYgc3R5 +bGU9J21zby1lbGVtZW50OmZvb3Rub3RlLXNlcGFyYXRvcicgaWQ9ZnM+DQoNCjxwIGNsYXNzPU1z +b05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTowY207bWFyZ2luLWJvdHRvbTouMDAwMXB0O2xp +bmUtaGVpZ2h0Og0Kbm9ybWFsJz48c3BhbiBsYW5nPUVOLUdCPjxzcGFuIHN0eWxlPSdtc28tc3Bl +Y2lhbC1jaGFyYWN0ZXI6Zm9vdG5vdGUtc2VwYXJhdG9yJz48IVtpZiAhc3VwcG9ydEZvb3Rub3Rl +c10+DQoNCjxociBhbGlnbj1sZWZ0IHNpemU9MSB3aWR0aD0iMzMlIj4NCg0KPCFbZW5kaWZdPjwv +c3Bhbj48L3NwYW4+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdiBzdHlsZT0nbXNvLWVsZW1lbnQ6Zm9v +dG5vdGUtY29udGludWF0aW9uLXNlcGFyYXRvcicgaWQ9ZmNzPg0KDQo8cCBjbGFzcz1Nc29Ob3Jt +YWwgc3R5bGU9J21hcmdpbi1ib3R0b206MGNtO21hcmdpbi1ib3R0b206LjAwMDFwdDtsaW5lLWhl +aWdodDoNCm5vcm1hbCc+PHNwYW4gbGFuZz1FTi1HQj48c3BhbiBzdHlsZT0nbXNvLXNwZWNpYWwt +Y2hhcmFjdGVyOmZvb3Rub3RlLWNvbnRpbnVhdGlvbi1zZXBhcmF0b3InPjwhW2lmICFzdXBwb3J0 +Rm9vdG5vdGVzXT4NCg0KPGhyIGFsaWduPWxlZnQgc2l6ZT0xPg0KDQo8IVtlbmRpZl0+PC9zcGFu +Pjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8ZGl2IHN0eWxlPSdtc28tZWxlbWVudDplbmRub3Rl +LXNlcGFyYXRvcicgaWQ9ZXM+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJv +dHRvbTowY207bWFyZ2luLWJvdHRvbTouMDAwMXB0O2xpbmUtaGVpZ2h0Og0Kbm9ybWFsJz48c3Bh +biBsYW5nPUVOLUdCPjxzcGFuIHN0eWxlPSdtc28tc3BlY2lhbC1jaGFyYWN0ZXI6Zm9vdG5vdGUt +c2VwYXJhdG9yJz48IVtpZiAhc3VwcG9ydEZvb3Rub3Rlc10+DQoNCjxociBhbGlnbj1sZWZ0IHNp +emU9MSB3aWR0aD0iMzMlIj4NCg0KPCFbZW5kaWZdPjwvc3Bhbj48L3NwYW4+PC9wPg0KDQo8L2Rp +dj4NCg0KPGRpdiBzdHlsZT0nbXNvLWVsZW1lbnQ6ZW5kbm90ZS1jb250aW51YXRpb24tc2VwYXJh +dG9yJyBpZD1lY3M+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTow +Y207bWFyZ2luLWJvdHRvbTouMDAwMXB0O2xpbmUtaGVpZ2h0Og0Kbm9ybWFsJz48c3BhbiBsYW5n +PUVOLUdCPjxzcGFuIHN0eWxlPSdtc28tc3BlY2lhbC1jaGFyYWN0ZXI6Zm9vdG5vdGUtY29udGlu +dWF0aW9uLXNlcGFyYXRvcic+PCFbaWYgIXN1cHBvcnRGb290bm90ZXNdPg0KDQo8aHIgYWxpZ249 +bGVmdCBzaXplPTE+DQoNCjwhW2VuZGlmXT48L3NwYW4+PC9zcGFuPjwvcD4NCg0KPC9kaXY+DQoN +CjxkaXYgc3R5bGU9J21zby1lbGVtZW50OmhlYWRlcicgaWQ9ZWgxPg0KDQo8cCBjbGFzcz1Nc29I +ZWFkZXIgYWxpZ249bGVmdCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0O2xpbmUtaGVpZ2h0OjEyLjBw +dDsNCm1zby1saW5lLWhlaWdodC1ydWxlOmV4YWN0bHknPjxzcGFuIGxhbmc9RU4tR0I+Q0MmbmJz +cDtDQy9GRFMgMTgwMTE6MjAxODoyMDE4PC9zcGFuPjwvcD4NCg0KPC9kaXY+DQoNCjxkaXYgc3R5 +bGU9J21zby1lbGVtZW50OmhlYWRlcicgaWQ9aDE+DQoNCjxwIGNsYXNzPU1zb0hlYWRlciBzdHls +ZT0nbWFyZ2luLWJvdHRvbToxOC4wcHQnPjxzcGFuIGxhbmc9RU4tR0INCnN0eWxlPSdmb250LXNp +emU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQ7Zm9udC13ZWlnaHQ6bm9ybWFsJz7C +qQ0KVGhlIENhbGVuZGFyaW5nIGFuZCBTY2hlZHVsaW5nIENvbnNvcnRpdW0sIEluYy4mbmJzcDsy +MDE4Jm5ic3A74oCTIEFsbCByaWdodHMgcmVzZXJ2ZWQ8L3NwYW4+PHNwYW4gbGFuZz1FTi1HQg0K +c3R5bGU9J2ZvbnQtd2VpZ2h0Om5vcm1hbCc+PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8L2Rp +dj4NCg0KPGRpdiBzdHlsZT0nbXNvLWVsZW1lbnQ6Zm9vdGVyJyBpZD1lZjE+DQoNCjxwIGNsYXNz +PU1zb0Zvb3RlciBzdHlsZT0nbWFyZ2luLXRvcDoxMi4wcHQ7bGluZS1oZWlnaHQ6MTIuMHB0O21z +by1saW5lLWhlaWdodC1ydWxlOg0KZXhhY3RseSc+PCEtLVtpZiBzdXBwb3J0RmllbGRzXT48YiBz +dHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3Bhbg0KbGFuZz1FTi1HQiBzdHls +ZT0nZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6MTEuMHB0Jz48c3Bhbg0Kc3R5 +bGU9J21zby1lbGVtZW50OmZpZWxkLWJlZ2luJz48L3NwYW4+PHNwYW4NCnN0eWxlPSdtc28tc3Bh +Y2VydW46eWVzJz7CoDwvc3Bhbj5QQUdFPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPsKg +wqANCjwvc3Bhbj5cKiBNRVJHRUZPUk1BVCA8c3BhbiBzdHlsZT0nbXNvLWVsZW1lbnQ6ZmllbGQt +c2VwYXJhdG9yJz48L3NwYW4+PC9zcGFuPjwvYj48IVtlbmRpZl0tLT48Yg0Kc3R5bGU9J21zby1i +aWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+PHNwYW4gbGFuZz1FTi1HQiBzdHlsZT0nZm9udC1zaXpl +OjEwLjBwdDsNCm1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPjxzcGFuIHN0eWxlPSdtc28tbm8t +cHJvb2Y6eWVzJz4yPC9zcGFuPjwvc3Bhbj48L2I+PCEtLVtpZiBzdXBwb3J0RmllbGRzXT48Yg0K +c3R5bGU9J21zby1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+PHNwYW4gbGFuZz1FTi1HQiBzdHls +ZT0nZm9udC1zaXplOjEwLjBwdDsNCm1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPjxzcGFuIHN0 +eWxlPSdtc28tZWxlbWVudDpmaWVsZC1lbmQnPjwvc3Bhbj48L3NwYW4+PC9iPjwhW2VuZGlmXS0t +PjxzcGFuDQpsYW5nPUVOLUdCIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQt +c2l6ZToxMS4wcHQnPjxzcGFuDQpzdHlsZT0nbXNvLXRhYi1jb3VudDoxJz7CoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDwvc3Bhbj7CqQ0KVGhl +IENhbGVuZGFyaW5nIGFuZCBTY2hlZHVsaW5nIENvbnNvcnRpdW0sIEluYy4mbmJzcDsyMDE4Jm5i +c3A74oCTIEFsbCByaWdodHMgcmVzZXJ2ZWQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2 +Pg0KDQo8ZGl2IHN0eWxlPSdtc28tZWxlbWVudDpoZWFkZXInIGlkPWVoMj4NCg0KPHAgY2xhc3M9 +TXNvSGVhZGVyIGFsaWduPWxlZnQgc3R5bGU9J3RleHQtYWxpZ246bGVmdDtsaW5lLWhlaWdodDox +Mi4wcHQ7DQptc28tbGluZS1oZWlnaHQtcnVsZTpleGFjdGx5Jz48c3BhbiBsYW5nPUVOLUdCPlRo +ZSBDYWxlbmRhcmluZyBhbmQgU2NoZWR1bGluZyBDb25zb3J0aXVtLCBJbmMuJm5ic3A7Q0MvRkRT +IDE4MDExOjIwMTg6MjAxODwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8ZGl2IHN0eWxlPSdtc28t +ZWxlbWVudDpoZWFkZXInIGlkPWgyPg0KDQo8cCBjbGFzcz1Nc29IZWFkZXIgYWxpZ249cmlnaHQg +c3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bGluZS1oZWlnaHQ6MTIuMHB0Ow0KbXNvLWxpbmUtaGVp +Z2h0LXJ1bGU6ZXhhY3RseSc+PHNwYW4gbGFuZz1FTi1HQj5UaGUgQ2FsZW5kYXJpbmcgYW5kIFNj +aGVkdWxpbmcgQ29uc29ydGl1bSwgSW5jLiZuYnNwO0NDL0ZEUyAxODAxMToyMDE4OjIwMTg8L3Nw +YW4+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdiBzdHlsZT0nbXNvLWVsZW1lbnQ6Zm9vdGVyJyBpZD1l +ZjI+DQoNCjxwIGNsYXNzPU1zb0Zvb3RlciBzdHlsZT0nbGluZS1oZWlnaHQ6MTIuMHB0O21zby1s +aW5lLWhlaWdodC1ydWxlOmV4YWN0bHknPjwhLS1baWYgc3VwcG9ydEZpZWxkc10+PHNwYW4NCmxh +bmc9RU4tR0Igc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjExLjBw +dCc+PHNwYW4NCnN0eWxlPSdtc28tZWxlbWVudDpmaWVsZC1iZWdpbic+PC9zcGFuPjxzcGFuDQpz +dHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+wqA8L3NwYW4+UEFHRTxzcGFuIHN0eWxlPSdtc28tc3Bh +Y2VydW46eWVzJz7CoMKgDQo8L3NwYW4+XCogTUVSR0VGT1JNQVQgPHNwYW4gc3R5bGU9J21zby1l +bGVtZW50OmZpZWxkLXNlcGFyYXRvcic+PC9zcGFuPjwvc3Bhbj48IVtlbmRpZl0tLT48c3Bhbg0K +bGFuZz1FTi1HQiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6MTEu +MHB0Jz48c3Bhbg0Kc3R5bGU9J21zby1uby1wcm9vZjp5ZXMnPmlpPC9zcGFuPjwvc3Bhbj48IS0t +W2lmIHN1cHBvcnRGaWVsZHNdPjxzcGFuDQpsYW5nPUVOLUdCIHN0eWxlPSdmb250LXNpemU6MTAu +MHB0O21zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPjxzcGFuDQpzdHlsZT0nbXNvLWVsZW1lbnQ6 +ZmllbGQtZW5kJz48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXS0tPjxzcGFuIGxhbmc9RU4tR0INCnN0 +eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPjxzcGFuIHN0 +eWxlPSdtc28tdGFiLWNvdW50Og0KMSc+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8L3NwYW4+wqkNClRoZSBDYWxlbmRhcmluZyBhbmQgU2No +ZWR1bGluZyBDb25zb3J0aXVtLCBJbmMuJm5ic3A7MjAxOCZuYnNwO+KAkyBBbGwgcmlnaHRzIHJl +c2VydmVkPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdiBzdHlsZT0nbXNv +LWVsZW1lbnQ6Zm9vdGVyJyBpZD1mMj4NCg0KPHAgY2xhc3M9TXNvRm9vdGVyIHN0eWxlPSdsaW5l +LWhlaWdodDoxMi4wcHQnPjxzcGFuIGxhbmc9RU4tR0INCnN0eWxlPSdmb250LXNpemU6MTAuMHB0 +O21zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPsKpIFRoZSBDYWxlbmRhcmluZyBhbmQgU2NoZWR1 +bGluZyBDb25zb3J0aXVtLCBJbmMuJm5ic3A7MjAxOCZuYnNwO+KAkyBBbGwNCnJpZ2h0cyByZXNl +cnZlZDxzcGFuIHN0eWxlPSdtc28tdGFiLWNvdW50OjEnPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDwvc3Bhbj48L3NwYW4+PCEtLVtpZiBzdXBw +b3J0RmllbGRzXT48c3Bhbg0KbGFuZz1FTi1HQiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28t +YmlkaS1mb250LXNpemU6MTEuMHB0Jz48c3Bhbg0Kc3R5bGU9J21zby1lbGVtZW50OmZpZWxkLWJl +Z2luJz48L3NwYW4+IFBBR0U8c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+wqDCoA0KPC9z +cGFuPlwqIE1FUkdFRk9STUFUIDxzcGFuIHN0eWxlPSdtc28tZWxlbWVudDpmaWVsZC1zZXBhcmF0 +b3InPjwvc3Bhbj48L3NwYW4+PCFbZW5kaWZdLS0+PHNwYW4NCmxhbmc9RU4tR0Igc3R5bGU9J2Zv +bnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjExLjBwdCc+PHNwYW4NCnN0eWxlPSdt +c28tbm8tcHJvb2Y6eWVzJz5paWk8L3NwYW4+PC9zcGFuPjwhLS1baWYgc3VwcG9ydEZpZWxkc10+ +PHNwYW4NCmxhbmc9RU4tR0Igc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1z +aXplOjExLjBwdCc+PHNwYW4NCnN0eWxlPSdtc28tZWxlbWVudDpmaWVsZC1lbmQnPjwvc3Bhbj48 +L3NwYW4+PCFbZW5kaWZdLS0+PHNwYW4gbGFuZz1FTi1HQg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4w +cHQ7bXNvLWJpZGktZm9udC1zaXplOjExLjBwdCc+PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8 +L2Rpdj4NCg0KPGRpdiBzdHlsZT0nbXNvLWVsZW1lbnQ6Zm9vdGVyJyBpZD1lZjM+DQoNCjxwIGNs +YXNzPU1zb0Zvb3RlciBzdHlsZT0nbWFyZ2luLXRvcDoxMi4wcHQ7bGluZS1oZWlnaHQ6MTIuMHB0 +O21zby1saW5lLWhlaWdodC1ydWxlOg0KZXhhY3RseSc+PCEtLVtpZiBzdXBwb3J0RmllbGRzXT48 +YiBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3Bhbg0KbGFuZz1FTi1HQiBz +dHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6MTEuMHB0Jz48c3Bhbg0K +c3R5bGU9J21zby1lbGVtZW50OmZpZWxkLWJlZ2luJz48L3NwYW4+PHNwYW4NCnN0eWxlPSdtc28t +c3BhY2VydW46eWVzJz7CoDwvc3Bhbj5QQUdFPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMn +PsKgwqANCjwvc3Bhbj5cKiBNRVJHRUZPUk1BVCA8c3BhbiBzdHlsZT0nbXNvLWVsZW1lbnQ6Zmll +bGQtc2VwYXJhdG9yJz48L3NwYW4+PC9zcGFuPjwvYj48IVtlbmRpZl0tLT48Yg0Kc3R5bGU9J21z +by1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+PHNwYW4gbGFuZz1FTi1HQiBzdHlsZT0nZm9udC1z +aXplOjEwLjBwdDsNCm1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPjxzcGFuIHN0eWxlPSdtc28t +bm8tcHJvb2Y6eWVzJz4yPC9zcGFuPjwvc3Bhbj48L2I+PCEtLVtpZiBzdXBwb3J0RmllbGRzXT48 +Yg0Kc3R5bGU9J21zby1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+PHNwYW4gbGFuZz1FTi1HQiBz +dHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCm1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQnPjxzcGFu +IHN0eWxlPSdtc28tZWxlbWVudDpmaWVsZC1lbmQnPjwvc3Bhbj48L3NwYW4+PC9iPjwhW2VuZGlm +XS0tPjxzcGFuDQpsYW5nPUVOLUdCIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZv +bnQtc2l6ZToxMS4wcHQnPjxzcGFuDQpzdHlsZT0nbXNvLXRhYi1jb3VudDoxJz7CoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDwvc3Bhbj7CqQ0K +VGhlIENhbGVuZGFyaW5nIGFuZCBTY2hlZHVsaW5nIENvbnNvcnRpdW0sIEluYy4mbmJzcDsyMDE4 +Jm5ic3A74oCTIEFsbCByaWdodHMgcmVzZXJ2ZWQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwv +ZGl2Pg0KDQo8ZGl2IHN0eWxlPSdtc28tZWxlbWVudDpmb290ZXInIGlkPWYzPg0KDQo8cCBjbGFz +cz1Nc29Gb290ZXIgc3R5bGU9J2xpbmUtaGVpZ2h0OjEyLjBwdCc+PHNwYW4gbGFuZz1FTi1HQg0K +c3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjExLjBwdCc+wqkgVGhl +IENhbGVuZGFyaW5nIGFuZCBTY2hlZHVsaW5nIENvbnNvcnRpdW0sIEluYy4mbmJzcDsyMDE4Jm5i +c3A74oCTIEFsbA0KcmlnaHRzIHJlc2VydmVkPHNwYW4gc3R5bGU9J21zby10YWItY291bnQ6MSc+ +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC +oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8 +L3NwYW4+PC9zcGFuPjwhLS1baWYgc3VwcG9ydEZpZWxkc10+PGINCnN0eWxlPSdtc28tYmlkaS1m +b250LXdlaWdodDpub3JtYWwnPjxzcGFuIGxhbmc9RU4tR0Igc3R5bGU9J2ZvbnQtc2l6ZToxMC4w +cHQ7DQptc28tYmlkaS1mb250LXNpemU6MTEuMHB0Jz48c3BhbiBzdHlsZT0nbXNvLWVsZW1lbnQ6 +ZmllbGQtYmVnaW4nPjwvc3Bhbj4NClBBR0U8c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+ +wqDCoCA8L3NwYW4+XCogTUVSR0VGT1JNQVQgPHNwYW4NCnN0eWxlPSdtc28tZWxlbWVudDpmaWVs +ZC1zZXBhcmF0b3InPjwvc3Bhbj48L3NwYW4+PC9iPjwhW2VuZGlmXS0tPjxiDQpzdHlsZT0nbXNv +LWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBsYW5nPUVOLUdCIHN0eWxlPSdmb250LXNp +emU6MTAuMHB0Ow0KbXNvLWJpZGktZm9udC1zaXplOjExLjBwdCc+PHNwYW4gc3R5bGU9J21zby1u +by1wcm9vZjp5ZXMnPjM8L3NwYW4+PC9zcGFuPjwvYj48IS0tW2lmIHN1cHBvcnRGaWVsZHNdPjxi +DQpzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBsYW5nPUVOLUdCIHN0 +eWxlPSdmb250LXNpemU6MTAuMHB0Ow0KbXNvLWJpZGktZm9udC1zaXplOjExLjBwdCc+PHNwYW4g +c3R5bGU9J21zby1lbGVtZW50OmZpZWxkLWVuZCc+PC9zcGFuPjwvc3Bhbj48L2I+PCFbZW5kaWZd +LS0+PHNwYW4NCmxhbmc9RU4tR0Igc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9u +dC1zaXplOjExLjBwdCc+PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8L2Rpdj4NCg0KPC9ib2R5 +Pg0KDQo8L2h0bWw+DQo= + +------=_NextPart_9777c15e.6c32.4720-- \ No newline at end of file diff --git a/csd-datetime-explicit.html b/csd-datetime-explicit.html new file mode 100644 index 0000000..6709f56 --- /dev/null +++ b/csd-datetime-explicit.html @@ -0,0 +1,2551 @@ + + + + Date and time — Explicit representation + + + + + + + + + + + + + + +
+

Final Draft

+
+ +
+

CalConnect Standard

+
+ + + +
+ +
+ + +
+
+ +
+
+ CC/FDS 18011:2018 + +
+ +
+ Date and time — Explicit representation + +
+
+ + + +
+ TC VCARD, CALENDAR +
+ + + +
+ +
+
+ CalConnect Standard +
+ +
+ +
+ + + + + +
+
+ + + +
+

 

+
+
+
+ + +
+ +

 

+
+
+
+
+
+

Foreword

+

The Calendaring and Scheduling Consortium ("CalConnect") is global non-profit +organization with the aim to facilitate interoperability of technologies across +user-centric systems and applications.

+

CalConnect works closely with liaison partners including international +organizations such as ISO, OASIS and M3AAWG.

+

The procedures used to develop this document and those intended for its further +maintenance are described in the CalConnect Directives.

+

In particular the different approval criteria needed for the different types of +CalConnect documents should be noted. This document was drafted in accordance with the +editorial rules of the CalConnect Directives.

+

Attention is drawn to the possibility that some of the elements of this +document may be the subject of patent rights. CalConnect shall not be held responsible +for identifying any or all such patent rights. Details of any patent rights +identified during the development of the document will be in the Introduction +and/or on the CalConnect list of patent declarations received (see +www.calconnect.com/patents).

+

Any trade name used in this document is information given for the convenience +of users and does not constitute an endorsement.

+

This document was prepared by Technical Committee VCARD, CALENDAR.

+
+
+
+

Introduction

+

ISO 8601:2004 has been the international standard for date and time representations +and is applied widely, including in the RFC5545 and RFC6350 standards.

+

However, the representations provided in ISO 8601:2004 require +fixed-length digits for time scale components, such as the +4-digit year, does not accept negative values, and does not +allow omission of a time scale component that has a zero value.

+

This document extends the "duration" representation +defined in ISO 8601:2004 to fulfill the need of a flexible-length +representation, called the "explicit form".

+
+

Date and time — Explicit representation

+
+

1.  Scope

+

The purpose of this document is to provide:

+
    +
  • +

    a standard, declarative representation of date and time and time +scale components called the "explicit form";

    +
  • +
  • +

    a grouped time scale unit mechanism for grouping of date and time; +and

    +
  • +
  • +

    new duration representations and mechanics for the calculation of +date time formulas involving duration.

    +
  • +
+

This document only supports date elements from the Gregorian calendar and +times from the 24-hour clock.

+

Date and time format representations described in this document +utilizes numbers, alphabets and symbols defined in ISO/IEC 646. +These representations are meant to be both human recognizable and +machine readable. Character encoding of the representations is +not covered in this document.

+
+
+

2.  Normative references

+

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

+

ISO 8601-1:--, Date and time — Representation for information interchange — Part 1: Basic rules

+
+

3.  Terms, definitions, symbols and abbreviated terms

For the purposes of this document, the terms and definitions + given in ISO 8601-1:-- and the following apply.

+

3.1. Terms and definitions

3.1.1 

explicit form

+ +

date and time representation that uses designator symbols to delimit time scale components

+ +

3.1.2 

designator symbols

+ +

characters used to denote units of a time scale component

+ +

3.1.3 

date time formula

+ +

expression that specifies modification of a date and time expression (ISO 8601-1:--, Clause 3.1.3.1) with a duration (ISO 8601-1:--, Clause 3.1.1.8)

+ +

3.1.4 

durational unit

+ +

time scale component (ISO 8601-1:--, Clause 3.1.3.3) that compose the duration (ISO 8601-1:--, Clause 3.1.1.8) date and time representation (ISO 8601-1:--, Clause 3.1.3.2)

+ +

3.1.5 

grouped time scale unit

+ +

time scale unit (ISO 8601-1:--, Clause 3.1.1.7) composed of a duration (ISO 8601-1:--, Clause 3.1.1.8) expressed by one or more durational units (Clause 3.1.4)

+

3.2. Symbols and abbreviated terms

3.2.1 

General

+ +

Representations specified in this document make use of symbols given in ISO 8601-1:-- and the following.

+ +

3.2.2 

Time scale component symbols

+ +

c(feat)

+

the left side of representation statement where "c" is a time scale component (e.g. "year") and "feat" is a feature, for example, "m" for a time scale component that accepts negative values

+

yearE

+

time scale component calendar year in explicit form

+

monthE

+

time scale component calendar month in explicit form

+

weekE

+

time scale component calendar week of year in explicit form

+

dayE

+

time scale component calendar day of month in explicit form

+

daykE

+

time scale component calendar day of week in explicit form

+

dayoE

+

time scale component calendar day of year in explicit form

+

hourE

+

time scale component clock hour in explicit form

+

minE

+

time scale component clock minute in explicit form

+

secE

+

time scale component clock second in explicit form

+

decE

+

time scale component decade in explicit form

+

centE

+

time scale component century in explicit form

+
+ +

3.2.3 

Composite component symbols

+ +

dateE

+

the composite time scale components for the complete representation of a date as determined in Clause 6.2.1

+

timeE

+

the composite time scale components for the complete representation of a time of day as determined in Clause 6.3.1

+

shiftE

+

the composite time scale component for time shift in basic form with hours and minutes, as determined in Clause 6.4

+

durationE

+

the composite time scale units for the representation of a duration as determined in ISO 8601:2004

+
+ +

3.2.4 

Symbols used in place of digits or signs

These symbols are used to represent characters in the date and time representations. They are used in representations only, and are replaced by one or more characters, as described, in expressions:

+

!

+

indicates that the token following this symbol is optional (may be omitted)

+

n

+

a positive integer or value, may be left absent to signify an unbounded value

+

i

+

a positive integer

+

negi

+

a positive or negative integer; equivalent to [!]["-"][i]

+
+

3.2.5 

Designator symbols

These symbols are used to represent designators in the date and time expressions:

+

"-"

+

a minus sign represented by the character "`-"` to indicate a negative value

+

"K"

+

the calendar day of week designator, represented by the character "K", preceding a data element which represents the ordinal number of a calendar day within a calendar week

+

"J"

+

the decade designator, represented by the character "J", preceding a data element which represents the number of decades

+

"Y"

+

the year designator, represented by the character "Y", preceding a data element which represents the number of years

+

"M"

+

the month or minute designator, represented by the character "M", preceding a data element which represents the number of months or minutes

+

"W"

+

the week designator, represented by the character "W", preceding a data element which represents the ordinal number of a calendar week within the calendar year

+

"O"

+

the calendar day of year designator, represented by the character "O", preceding a data element which represents the ordinal number of a calendar day within a calendar year

+

"D"

+

the day of month designator, represented by the character "D", preceding a data element which represents the number of days in a month

+

"H"

+

the hour designator, represented by the character "H", preceding a data element which represents the number of hours

+

"S"

+

the second designator, represented by the character "S", preceding a data element which represents the number of seconds

+

"T"

+

the time designator, represented by character "T", indicates:

+
    +
  • +

    the start of the representation of local time of day to designate local time of day expressions as such,

    +
  • +
  • +

    the start of the representation of the time of day in date and time of day expressions,

    +
  • +
  • +

    the start of the representation of the number of hours, minutes or seconds in expressions of duration

    +
  • +
+

"P"

+

the duration designator, represented by the character "P", preceding the component which represents the duration

+

"B"

+

the suffix designator to represent years before year one, represented by the character "B", placed after the time scale components of calendar year, decade and century.

+

"Z"

+

the UTC designator, represented by the character "Z", added to the end of a time representation to indicate that a time of day is represented as UTC of day.

+

"G"

+

the grouped time scale unit prefix designator, represented by the character "G", indicates a grouping calculation applies to the subsequent time scale components until encountering the corresponding suffix designator.

+

"U"

+

the grouped time scale unit suffix designator, represented by the character "U", indicates a grouping calculation applies to the preceding time scale components from the corresponding prefix designator.

+
"x"
+

the representation of any character "x" as according to the textual representation of "x" in the ISO/IEC 646 repertoire

+
+ + +

Note 1 to entry: Although "M" can be used to designate months or for minutes, its meaning is unambiguous in expressions because the time portion shall always be preceded by the time designator "T".

Note 2 to entry: The designator symbol "J" is assigned from its ordinal position +being the tenth letter of the English alphabet.

Note 3 to entry: The "G" and "U" designator symbols are used to demarcate the +"grouped time scale unit" time scale components as they form the +initial letters of the words "group" and "unit".

+

3.2.6 

Separator symbols

In date and time expressions and date and time representations, the following characters are used as separators.

+

"/" (solidus)

+

the "/" solidus character separates start and end times in the representation of a time interval, as well as the symbol 'R' from the remainder of a recurring time interval representation. A solidus may be replaced with a double hyphen ["--"] by mutual agreement of the communicating partners.

+

"." (period) and "," (comma)

+

the "." period and "," comma characters are decimal signs used to separate the integer part from the decimal fraction of a number.

+
+
+

4.  Time scale components and units

+

4.1. General

+ +

Additional properties and the explicit forms of time scale units are +represented in this clause.

+
+

4.2. Order of time scale units

This document refers to an "order" amongst time scale units, which is +defined by the duration of a time scale unit relative to other time +scale units. For example, since a single calendar month has a duration +always greater than a single unit of calendar day, the former is +considered of a higher order time scale unit than calendar day, and +therefore the latter is also considered of a lower order time scale +unit than the former.

+

The relative order of commonly used time scale units is specified +below, with the higher listed entry considered a higher order time +scale unit than a lower listed entry:

+
    +
  1. +

    calendar century

    +
  2. +
  3. +

    calendar decade

    +
  4. +
  5. +

    calendar year

    +
  6. +
  7. +

    calendar month

    +
  8. +
  9. +

    calendar week

    +
  10. +
  11. +

    calendar day

    +
  12. +
  13. +

    clock hour

    +
  14. +
  15. +

    clock minute

    +
  16. +
  17. +

    clock second

    +
  18. +
+

NOTE  a higher order time scale does not necessarily mean its duration +can be expressed as an integer multiple of a lower order time scale, +for example, in the case of calendar month (28, 29, 30 or 31 days) +and calendar week (7 days).

+

4.3. Explicit forms

4.3.1. Value prefixing

Prefixing of the value with one or more "`0`"s (the number zero) to the +integer [i] is allowed in the explicit forms of time scale components.

+
EXAMPLE +

'1M', '01M', and '0001M' all describe the calendar month January.

+
+

4.3.2. Calendar year and years duration

The calendar year and years duration is represented as follows:

+

[i]["Y"]

+
EXAMPLE 1 +

'12Y', duration, twelve years

+
+
EXAMPLE 2 +

'12Y', date, year 12.

+
+

4.3.3. Calendar month and months duration

The calendar month and months duration is represented as follows:

+

[i]["M"]

+
EXAMPLE 1 +

'6M', duration, 6 months.

+
+
EXAMPLE 2 +

'8M', date, the month of August.

+
+

4.3.4. Calendar week of year and weeks duration

The calendar week of year number and weeks duration is represented as +follows:

+

[i]["W"]

+
EXAMPLE 1 +

'10W', duration, ten weeks.

+
+
EXAMPLE 2 +

'22W', date, the twenty-second calendar week of a calendar year.

+
+

4.3.5. Calendar day of month and days duration

The calendar day of month and days duration is represented as follows:

+

[i]["D"]

+
EXAMPLE 1 +

'130D', duration, 130 days.

+
+
EXAMPLE 2 +

'25D', date, the twenty-fifth (25) calendar day of a calendar month.

+
+

4.3.6. Calendar day of week

The calendar day of week is represented as the following time scale component:

+

[i]["K"]

+

Where,

+
    +
  • +

    [i] represents the ordinal day number in the calendar week; +valid values of [i] are the integers 1 to 7, representing Monday to Sunday, +in accordance with "The week calendar" specified in ISO 8601-1:--, Clause 4.2.2.

    +
  • +
+
EXAMPLE 1 +

'1K', calendar day of week Monday

+
+
EXAMPLE 2 +

'3K', calendar day of week Wednesday

+
+
EXAMPLE 3 +

'7K', calendar day of week Sunday

+
+

4.3.7. Calendar day of year

The calendar day of year is represented as the following time scale component:

+

[i]["O"]

+
EXAMPLE +

'351O', ordinal day 351 of the calendar year

+
+

4.3.8. Clock hour and hours duration

Clock hour and hours duration is represented as follows:

+

[i]["H"]

+
EXAMPLE 1 +

'36H', duration, thirty-six hours.

+
+
EXAMPLE 2 +

'6H', time, the sixth clock hour.

+
+

4.3.9. Clock minute and minutes duration

Clock minute and minutes duration is represented as follows:

+

[i]["M"]

+
EXAMPLE 1 +

'72M', duration, 72 minutes.

+
+
EXAMPLE 2 +

'56M', time, the fifty-sixth clock minute.

+
+

4.3.10. Clock second and seconds duration

Clock second and seconds duration is represented as follows:

+

[i]["S"]

+
EXAMPLE 1 +

'300S', duration, 300 seconds

+
+
EXAMPLE 2 +

'28S', duration, the twenty-eighth clock second.

+
+

4.3.11. Decade

The decade is represented as the following time scale component:

+

[i]["J"]

+
EXAMPLE 1 +

'196J' in explicit form represents the decade of the 1960s, spanning the calendar years 1960 to 1969.

+
+
EXAMPLE 2 +

'0J' in explicit form represents the decade spanning calendar years 0 to 9.

+
+

4.3.12. Century

The century is represented as the following time scale component:

+

[i]["C"]

+
EXAMPLE 1 +

'16C', in explicit form represents the century of 1600s, spanning the calendar years 1600 to 1699.

+
+
EXAMPLE 2 +

'0C', in explicit form represents the century spanning the calendar years 00 to 99.

+
+

4.4. Negative values

4.4.1. General

Certain time scale components are allowed to accept a negative integer as their value. The following representation is used for value that accepts a positive or negative integer.

+

negi = [!]["`-`"][i]

+

In order to convert a time scale component to accept negative values, the following representation is used, where c is a time scale component unit. If the time scale component accepts an integer value of '0', the value of the expression '-0' (negative zero) is considered equivalent to that of '0'.

+

c(m) = [negi][c]

+

Where,

+
    +
  • +

    [c] is the time scale component representation that accepts only positive [i];

    +
  • +
  • +

    [m] is a feature label indicating that the time scale component [c] accepts negative values.

    +
  • +
+

This representation only applies to time scale components that describe a time scale unit. Specifically, it does not apply to durations, time intervals, and repeating time intervals.

+
EXAMPLE +

If "c" is the time scale component yearE in explicit form (see Part 1 4.3.2 b)), c(m) means "calendar year accepting a negative value". The explicit year representation [i]["Y"] becomes [negi]["Y"] when [i] is replaced with [negi], and expands to [!]["-"]][i]["Y"], which accepts the representations [i]["Y`"] or ["-"]"Y"]. In this expression, the value of [i] or ["-"`][i] represents an integer whose value identifies a calendar year.

+
+

4.4.2. Calendar year

When a negative calendar year represents a date, the negative value is +to represent the number of years prior to year zero (0).

+

The representation for calendar year that accepts a negative value is as follows.

+

year(m)

+
EXAMPLE 1 +

'-12Y' in date represents the the calendar year -12.

+
+
EXAMPLE 2 +

'-1Y' in date represents the year immediately preceding year 0.

+
+

NOTE  Year zero is expressed as '0Y' in explicit form.

+

4.4.3. Calendar week of year

When a negative calendar week of year represents a date, the negative +value is to represent the number of weeks counting in reverse from the +end of the calendar year, where the last week of the year is +represented by the integer value '-1'.

+

The representation for calendar week of year that accepts a negative value is as follows.

+

week(m)

+
EXAMPLE 1 +

'-10W' in date represents the tenth last week of the year.

+
+
EXAMPLE 2 +

'-3W' in date represents the third last week of the year.

+
+

4.4.4. Calendar day of month

When a negative calendar day of month represents a date, the negative +value is to represent the number of days counting in reverse from the +end of the calendar month, where the last day of the month is +represented by the integer value '-1'.

+

The representation for calendar day of month that accepts a negative value is as follows.

+

day(m)

+
EXAMPLE 1 +

'-1D' in date represents the last day of the month.

+
+
EXAMPLE 2 +

'-5D' in date represents the fifth last day of the month.

+
+

4.4.5. Calendar day of year

When a negative calendar day of year represents a date, the negative value is to represent the number of days counting in reverse from the end of the calendar year, where the last day of the year is represented by the integer value '-1'.

+

The representation for calendar day of year that accepts a negative value is as follows.

+

dayo(m)

+
EXAMPLE 1 +

'-7O' in date represents the seventh last day of the calendar year, which is always December 25th.

+
+
EXAMPLE 2 +

'-306O' in date represents February 29th for a leap year, February 28th otherwise.

+
+

4.4.6. Duration

A duration in the reverse direction, called a "negative duration" in +this document, can be expressed using the following representation +based on the duration representation specified in +ISO 8601-2:--, Clause 5.4.2. +In this case, all time scale component within the duration +representation must be positive.

+

duration(m) = [!]["`-"`][positive-duration]

+

Where,

+
    +
  • +

    [positive-duration] is the [duration] representation that contains only time scale components that have positive [i].

    +
  • +
+
EXAMPLE 1 +

'-P100D' in date represents the duration of 100 days in the reverse direction.

+
+
EXAMPLE 2 +

'-P1Y3D' in date represents the duration of one years and three days in the reverse direction.

+
+
EXAMPLE 3 +

'-P20Y3M' describes a negative duration of twenty years and three months ago.

+
+

4.4.7. Calendar year before year one

A suffix addition to time scale components for calendar year, decade and century +allows representation of calendar years before year one (1).

+

The representation is given as follows.

+

[c]["B"]

+

Where,

+
    +
  • +

    [c] is one of [yearE], [decE], [centE].

    +
  • +
+
EXAMPLE 1 +

'1YB' the first year before year one, equivalent to the effect of '0Y'.

+
+
EXAMPLE 2 +

'12YB' the twelfth year before year one, equivalent to the effect of '-11Y'.

+
+
EXAMPLE 3 +

'12JB' the twelfth decade before year one, equivalent to the effect of time interval +'-119/-110'.

+
+
EXAMPLE 4 +

'12CB' the twelfth century before year one, equivalent to the effect of time interval +'-1190/-1100'.

+
+
+
+

5.  Grouped time scale units

+

5.1. General

+ +

A time scale unit can be grouped into a larger composite unit that +can each be specifically referred to using representations provided +in this clause.

+
+

5.2. Unit definition

A grouped time scale unit ("grouped unit") defines a time scale unit +that is a composite of smaller time scale units. +Its representation is provided as follows +and is denoted as [groupUnit] in this document.

+

["G"][durationUnits]["U"]

+

Where,

+
    +
  • +

    ["G"] is the grouping prefix designator;

    +
  • +
  • +

    ["U"] is the grouping suffix designator;

    +
  • +
  • +

    [durationUnits], one or more time scale components for +expressing positive duration as specified in +duration-general.

    +
  • +
+

The definition of a grouped unit is a continuous one, such that there is no gap between two adjacent grouped units.

+
EXAMPLE 1 +

'G10DU', every unit of the grouped unit is of ten days duration.

+
+
EXAMPLE 2 +

'GT30MU', every unit of the grouped unit is of thirty minutes duration.

+
+
EXAMPLE 3 +

'G2DT6HU', every unit of the grouped unit is of two days and six hours duration.

+
+

5.3. Unit value

The value of a grouped time scale unit is given with +the following representation. +This representation is denoted as [group] in this document.

+

group = [i][groupUnit]

+

Where,

+
    +
  • +

    [i] indicates the coefficient value of the grouped time scale unit;

    +
  • +
  • +

    [groupUnit] denotes an expression for a grouped time scale unit +(grouping-unit).

    +
  • +
+
EXAMPLE 1 +

'5G10DU', the fifth unit of ten-day groups.

+
+
EXAMPLE 2 +

'20GT30MU', the twentieth unit of thirty-minute groups.

+
+
EXAMPLE 3 +

'2G2DT6HU', the second unit of two-day groups.

+
+
EXAMPLE 4 +

'2018-02-GP14D2I' and '2018Y02MGP14D2ID' are complete date representations that indicates "the second fortnight of February 2018", as specified by the rule "group every 14 days, second group".

+
+
EXAMPLE 5 +

'2018-03-GP10D3I' and '2018Y03MGP10D3ID' are complete date representations that indicates "the third 10-day block of March in 2018", as specified by the rule "group every 10 days, third group". A 10-day block is a time grouping commonly used in East Asia.

+
+
EXAMPLE 6 +

’16:GPT15M1I:00’ and 'T16HGPT15M1I0S' are complete time representations that indicates "the first quarter-hour of 16:00", as specified by the rule "group every 15 minutes, first group".

+
+
EXAMPLE 7 +

'2018-GP6M1I' and '2018YGP6M1IM' are date expressions (implied and explicit formats, respectively) of monthly precision that indicates "the first half of 2018", as specified by the rule "group every 6 months, first group", and therefore the grouping is specified in the [month] field. The resulting time interval is equivalent to the time interval expression '2018-01-01/2018-06-30'.

+
+

5.4. Application within representations

5.4.1. General

Grouped time scale units can be applied to date and time representations as +replacements for any time scale unit components as +long as the resulting expression is a valid one.

+
EXAMPLE 1 +

2018Y3G60DU6D is a valid date expression that refers to the date +year 2018, ordinal day of year 186 (which is July 5th).

+
+
EXAMPLE 2 +

2018Y9M2DT2GT8HU0H30M is a valid date and time expression that +refers to the date year 2018, September 2nd, 16:30.

+
+

5.4.2. Use of grouped units

Date and time representations can incorporate the grouped +time scale units by applying rules from Clause 5.2 +and Clause 5.3 to a date and time representation +described by this document and ISO 8601-1:--, by +replacing a time scale unit component in the representations +with [group].

+

The following representation is used for date and time +representations (complete representation, reduced precision) +that incorporate grouped time scale units. This +representation is denoted as [groupDateTime] in this document.

+

[higher-order-units][group][lower-units]

+

Where,

+
    +
  • +

    [higher-order-units] contains time scale units (and their +values) that are of higher order compared to the highest order time +scale unit within the group unit;

    +
  • +
  • +

    [lower-order-units] is optional, it contains time scale +units (and their values) that are of equal or lower order compared to +the lowest order time scale unit within the group unit.

    +
  • +
+
EXAMPLE 1 +

[monthE][group][yearE] is an invalid date and time representation +as [monthE] has a lower order than that of [yearE].

+
+

When [lower-order-units] is omitted, the expression refers +to a unit of the grouped time scale unit.

+
EXAMPLE 2 +

[centE][group] is a valid date and time representation, +expressing in units of the grouped time scale unit.

+
+
EXAMPLE 3 +

'2018Y1G60DU' represents the first 60-day group of the +year 2018.

+
+
EXAMPLE 4 +

'2018Y2M2G14DU' refers to the second 14-day group +in February of year 2018, which is in effect referring to +"the second fortnight of February 2018".

+
+
EXAMPLE 5 +

'2018Y3M3G10DU' refers to the third 10-day block of March +in 2018. A 10-day block is a time grouping commonly used +in East Asia.

+
+
EXAMPLE 6 +

'T16H1GT15MU' refers to the first quarter-hour of 16:00.

+
+

When [lower-order-units] is present, the expression refers +to a date and time using the lowest time scale unit in the +[lower-order-units] expression.

+

Time scale components placed to the right of a grouped +time scale unit behaves identically to those after a typical +time scale component, such that the component to the right +refers to an instance or time interval "within" the +component at the left.

+
EXAMPLE 7 +

[yearE][group][dayE] is a valid date and time representation, +expressing in the calendar day time scale unit. The [dayE] +points to a calendar day within the expression [yearE][group].

+
+
EXAMPLE 8 +

[decE][group][timeE] is a valid date and time representation, +expressing in the lowest order time scale units specified in +[timeE], which is the clock second time scale unit. The [timeE] +points to a clock time within the expression [decE][group].

+
+
EXAMPLE 9 +

'2018Y3G60DU6D' represents the sixth day of the third +60-day group of the year 2018.

+
+
EXAMPLE 10 +

'2018Y20GT12HU3H' represents the third hour within the +twentieth 12-hour group of the year 2018.

+
+

5.4.3. Adherence to grouped unit boundaries

Time scale unit values provided in [lower-order-units] must +not fall outside of the value bounds set by the group time scale unit +(the [group] expression).

+
EXAMPLE 1 +

'2018Y1G2MU30D' refers to the thirtieth day of the first +two-month group in year 2018. Since the first two-month group +of 2018 contains 59 days, the subsequent expression 30D falls +within the same grouped time scale unit.

+
+
EXAMPLE 2 +

'2018Y1G2MU60D' refers to the sixtieth day of the first +two-month group in year 2018. It is an invalid expression +as the first two-month group of 2018 only contains 59 days, +the expression 60D falls outside of the same grouped +time scale unit.

+
+

5.4.4. Representation with time shift

A representation using grouped time scale units can be represented +with a time shift as:

+

[groupDateTime][shiftE]

+
EXAMPLE 1 +

'2018Y1G60DUZ-5H', the first 60-day group of the year 2018, +five hours behind UTC.

+
+
EXAMPLE 2 +

'2018Y3G60DU6DZ8H' represents the sixth day of the third +60-day group of the year 2018, eight hours ahead of UTC.

+
+

5.4.5. Conversion to basic time scale units

5.4.5.1. General

When an expression referring to a grouped time scale +unit has to be converted to use basic time scale units +(time scale units that are defined in Clause 4), +it can be converted into a time interval.

+
EXAMPLE +

'2018Y1G6MU' refers to the first 6-month group of year 2018. +The resulting time interval is equivalent to that of the time interval +expression '2018Y1M/2018Y6M'.

+
+

5.4.5.2. Truncation of partial units

When the duration of a grouped time scale unit does not cleanly +divide the original time scale component, the duration of +the last unit of the grouped time scale is only partially +located within the boundaries specified by the original time scale component.

+

In this case, the particular grouped time scale unit refers only +to the duration that is within bounds of the original time +scale component. The remaining duration that are out +of bounds shall be truncated.

+
EXAMPLE +

2018Y9M4G8DU refers to the +"fourth 8-day grouping of September of year 2018", +but the fourth grouped unit only has 6 days within September +and 2 days in October. According to the truncation rule, only +the first 6 days belong to this grouped unit, and the resulting +time interval is 2018-09-25/2018-09-30.

+
+

5.4.5.3. Spanning grouped unit boundaries

In order to express a time interval covered by the grouped +unit without regard to the boundaries of the original time component, +the same expression can be provided using time interval representation.

+
EXAMPLE +

2018Y9M4G8DU, "fourth 8-day grouping of September of year 2018", +the start date of the fourth grouped unit can be found as 2018Y9M25D. +Therefore, the expression of 2018Y9M25D/P8D provides the full 8-day +duration of the unit, in the interval 2018Y9M25D/2018Y10M2.

+
+
+
+

6.  Explicit representations

+

6.1. General

+ +

This section provides date and time representations using explicit form.

+
+

6.2. Date

6.2.1. General

+ +

The representations provided in this clause are collectively denoted as [dateE].

+
+

6.2.2. Calendar date

The complete representation of a calendar date shall be as follows.

+

[yearE][monthE][dayE]

+
EXAMPLE +

'1985Y4M12D', calendar year 1985, April 12th.

+
+

6.2.3. Ordinal date

A complete representation of an ordinal date shall be as follows.

+

[yearE][dayoE]

+
EXAMPLE +

'1985Y102O', calendar year 1985, ordinal day 102 of year.

+
+

6.2.4. Week date

A complete representation of a week date shall be as follows.

+

[yearE][weekE][daykE]

+
EXAMPLE +

'1985Y15W5K', calendar year 1985, Friday of the calendar week 15.

+
+

6.3. Time of day

6.3.1. Local time of day

Representations of local time of day as defined below make no +provisions to prevent ambiguities in expressions that result from +discontinuities in the local time scale (e.g. daylight-saving time). +When the need arises to prevent these ambiguities, the representations +provided in Clause 6.6 may serve useful.

+

A complete representation of local time of day shall be as follows. +This representation shall be denoted as [timeE].

+

["T"][hourE][minE][secE]

+
EXAMPLE +

'T23H20M50S', a local time of day expression describing the fiftieth +seconds of the twentieth minute of the twenty-third clock hour.

+
+

6.3.2. Beginning of the day

The complete representation of beginning of day in explicit form shall +be as follows.

+

T0H0M0S

+

Applying the rule of omitting zero-valued time scale components, it can also +be represented as:

+

T0S

+

There is no representation of end of day to prevent ambiguity of the +overlapping end of day and the beginning of the next day.

+

6.4. Time shift

A time shift is used to represent the shift of local standard time +against UTC.

+

The complete representation of time shift in explicit form is represented +as follows, and is denoted as [shiftE] within this document.

+

["Z"][!]["-"][timeE]

+

Where,

+
    +
  • +

    ["Z"] is the time shift designator;

    +
  • +
  • +

    the leading minus sign (["-"]) is only applied when the time shift +expressed is behind UTC, it shall be omitted if the time shift is +ahead of or equal to UTC;

    +
  • +
  • +

    the expression [timeE] indicates the actual time shift from UTC.

    +
  • +
+

In accordance with Clause 6.10, zero-valued +time scale components may be omitted in [timeE].

+
EXAMPLE 1 +

'Z-5H', the time shift is 5 hours behind UTC.

+
+
EXAMPLE 2 +

'Z8H', the time shift is 8 hours ahead of UTC.

+
+
EXAMPLE 3 +

'Z6H0M', the time shift is six hours ahead of UTC; the expression '0M' may be omitted +in accordance with Clause 6.10.

+
+
EXAMPLE 4 +

'Z8H30M10S', the time shift is eight hours, thirty minutes and ten seconds ahead of UTC.

+
+

A single ["Z"] with the [timeE] portion empty, in accordance with the +rules specified in Clause 6.10, indicates that the +time shift from UTC of day is zero, and is functionally equivalent to +the representation 'Z0H0M'.

+

["Z"]

+
EXAMPLE 5 +

'Z', UTC where the time shift is zero.

+
+
EXAMPLE 6 +

'Z0H0M', UTC where the time shift is zero.

+
+

6.5. Date with shift

The complete representation for date with a time shift is as follows.

+

[dateE][shiftE]

+
EXAMPLE +

'1985Y4M12DZ-5H', calendar year 1985, April 12th with a time shift of 5 hours behind UTC.

+
+

6.6. Time of day with time shift

The complete representation for time of day with a time shift is as follows.

+

[timeE][shiftE]

+
EXAMPLE 1 +

'T23H20M50SZ', 23:20:50 at UTC of day.

+
+
EXAMPLE 2 +

'T23H20M50SZ-5H0M', 23:20:50 at local time, which is 5 hours behind UTC.

+
+
EXAMPLE 3 +

'T23H20M50SZ8H', 23:20:50 at local time, which is 8 hours ahead of UTC.

+
+

6.7. Date and time of day

A time can be expressed by combining a date expression (Clause 6.2) +with a time of day expression (Clause 6.3).

+

The date part of a date and time expression must be complete. The time +may be incomplete (Clause 6.13).

+

The representations provided in this clause are collectively denoted as +[datetimeE].

+

6.7.1. Date and time only

The complete representation for date and time only is as follows.

+

[dateE][timeE]

+
EXAMPLE +

'1985Y4M12DT23H20M30S', calendar year 1985, April 12th, 23:20:30.

+
+

6.7.2. Date and time with shift

The complete representation for date with time and a time shift is as follows.

+

[dateE][timeE][shiftE]

+
EXAMPLE +

'1985Y4M12DT23H20M30SZ8H', calendar year 1985, April 12th, 23:20:30, 8 hours ahead of UTC.

+
+

6.8. Decade

The complete representation for decade is as follows.

+

[decE]

+
EXAMPLE +

'1880', the decade 1880s, spanning years from 1880 to 1889.

+
+

6.9. Century

The complete representation for century is as follows.

+

[centE]

+
EXAMPLE +

'1300', the century 1300s, spanning years from 1300 to 1399.

+
+

6.10. Omission of zero valued components

Time scale components within an explicit form that has a value of 0 may be omitted entirely with its corresponding designator, except when the omission of it affects the indication of precision.

+

In the representations given in this clause, if a time scale component of a higher order (compared to the lowest order component specified in the representation) is omitted, it is assumed to have the value "0" as long as the time scale component accepts the value "0" (ISO 8601-1:--, Clause 4.3).

+
EXAMPLE 1 +

'1985Y4M15DT15H0M10S' and '1985Y4M15DT15H10S' can be both used to express +the time 3:00:10 p.m. on April 15th, 1985 in the Gregorian calendar.

+
+
EXAMPLE 2 +

'1988Y3M1DT2H0M0S' and '1988Y3M1DT2H' are unequal representations where the former expression has seconds precision, and the latter expression has hour precision.

+
+
EXAMPLE 3 +

'2018Y8M8DT30M0SZ': indicates the date 8th August 2018 at time 00:30:00 in UTC time of day Since the "hour" component is omitted and "seconds" included, the hour is assumed to be zero, and the expression has seconds precision. This is equivalent to the expression '2018Y08M08DT30M0SZ' in which zero padding is applied to calendar month and calendar day.

+
+

6.11. Indication of precision

The lowest denoted time scale component in a date and time representation +indicates the precision level of the representation.

+
EXAMPLE 1 +

'1985Y4M' has calendar month precision.

+
+
EXAMPLE 2 +

'1985Y4M12DT2H' has clock hour precision.

+
+
EXAMPLE 3 +

'1985Y4M12DT30M' has clock minute precision, where the clock hour time +scale component is a zero-valued omission.

+
+

6.12. Decimal fractions for time

A decimal fraction of hour, minute or second may be included in an expression in accordance with ISO 8601-1:--, Clause 5.2.1.4.

+
EXAMPLE 1 +

'2018Y8M8DT0,5H': indicates the date 8th August 2018 at time 00:30 with minutes precision.

+
+
EXAMPLE 2 +

'2018Y8M8DT10H30.5M': indicates the date 8th August 2018 at time 10:30:30 with seconds precision.

+
+
EXAMPLE 3 +

'2018Y8M8DT10H30M15,3S': indicates the date 8th August 2018 at time 10:30:15 plus 300ms with sub-second precision.

+
+

6.13. Representations other than complete

Any of the representations given in this clause may be modified for reduced precision +(Clause 6.11) and decimal representation (Clause 6.12).

+
EXAMPLE 1 +

'2018Y8M': indicates the date August 2018 with calendar month precision.

+
+
EXAMPLE 2 +

'2018Y8M8DT30M': indicates the date 8th August 2018 at time 00:30 with minute precision. Since the "hour" component is omitted, it is assumed to be zero because it is of a higher order than the lowest order component specified in the representation (here, "minutes). The omitted "`second" component does not form part of the representation because it is of a lower order than the lowest order component.

+
+

6.14. Time interval

6.14.1. General

A time interval shall be expressed by a start and an end date. +A solidus ["/"] is used as a separator to separate the two start and +end dates.

+

The complete representation of a time interval is defined as follows.

+

[datetimeE]["/"][datetimeE]

+
EXAMPLE +

'1985Y4M12DT23H20M50S/1985Y6M25DT10H30M0S', time interval beginning at +20 minutes and 50 seconds past 23 hours on 12 April 1985 local time of +day and ending at 30 minutes past 10 hours on 25 June 1985 local time +of day.

+
+

6.14.2. Duration substitution

Providing a duration as an alternative to either a start or end date is +acceptable, given the start and end dates can be inferred from the given +duration of the time interval.

+
EXAMPLE 1 +

'1985Y4M12DT23H20M50S/P3D'

+
+
EXAMPLE 2 +

'P3D/1985Y4M12DT23H20M50S'

+
+

6.14.3. Time scale component order

For expression of a time interval by a start and an end, higher order +time scale components may be omitted from the "end of time interval", +provided that the resulting expression is unambiguous. In this case the +omitted higher order components from the "start of time interval" +expression apply.

+
EXAMPLE +

'2018Y1M15D/2M20D' represents '2018Y1M15D/2018Y2M20D' as the expression +'2M20D' unambiguously refers to the calendar month and calendar day +components, and the higher order components can be inherited from the +start date expression.

+
+

6.14.4. Time shift indication

Representations for time zones and UTC included with the component +preceding the separator shall be assumed to apply to the component +following the separator, unless a corresponding alternative is included.

+
EXAMPLE +

'2018Y1M15DZ5Y0M/2018Y2M20D' is equivalent to +'2018Y1M15DZ5Y0M/2018Y2M20DZ5Y0M' as the 'Z5H0M' time shift also +applies to the expression after the separator.

+
+
+
+

7.  Explicit duration

+

7.1. General

Duration can be expressed by a combination of time scale units +in explicit form — years, months, weeks, days, hours, minutes, and seconds.

+

These time scale components are specified in +Clause 4, and are used to specify +positive duration.

+

7.2. Durational units

Time scale unit components are used to compose a duration expression, +and are defined as "durational units".

+

The following time scale components can be combined +to form a representation denoted as [durationUnits] +for the expression of duration.

+

[yearE][monthE][weekE][dayE]["T"][hourE][minuteE][secondE]

+

Where,

+
    +
  • +

    each time scale component acting as a durational unit +(such as [monthE]) may be omitted;

    +
  • +
  • +

    the time designator symbol ["T"] is used to separate +the time scale components relating to the clock from those of +the calendar.

    +
  • +
+

Within [durationUnits], time scale components of higher order +shall be expressed before those of lower order.

+

7.3. Representations

7.3.1. General

+ +

The following representations are both considered complete +representations of duration.

+
+

7.3.2. Composite representation

The composite representation of a duration, fully accepting +expressions of the duration representation given in +ISO 8601-1:--, Clause 5.2.3, is given as follows.

+

[!]["-"]["P"][durationUnits]

+

Where,

+
    +
  • +

    [durationUnits] contains time scale components for expressing +positive duration.

    +
  • +
+
EXAMPLE 1 +

'P3D', duration of three days.

+
+
EXAMPLE 2 +

'P3W2D', duration of three weeks and two days, which is 23 days, as +equivalent to the expression of 'P23D'.

+
+
EXAMPLE 3 +

'P180Y800D', duration of one-hundred-and-eighty years and eight-hundred days.

+
+

NOTE  The exact duration for some time scale components can only be +known when placed on the actual time scale.

+

7.3.3. Precedence representation

The precedence representation of a duration is used for specifying +author intent in the evaluation order of time scale components within +a duration.

+

The representation of calendar duration time scale components +(denoted as [calendarD]) is provided as follows.

+

["P"][calendarDU]

+

Where,

+
    +
  • +

    [calendarDU] is one of [yearE], [monthE], [weekE], [dayE].

    +
  • +
+
EXAMPLE 1 +

P3D describes a duration of three days, in accordance with [calendarD].

+
+

The representation of clock duration time scale components +(denoted as [clockD]) is provided as follows.

+

["P"]["T"][clockDU]

+

Where,

+
    +
  • +

    [clockDU] is one of [hourE], [minuteE], [secondE].

    +
  • +
+
EXAMPLE 2 +

PT8H describes a duration of eight hours, in accordance with [clockD].

+
+

The duration precedence representation is described as follows, +denoted as [durationP].

+

[!]["-"][durC-1][durC-2]...[durC-n]

+

Where,

+
    +
  • +

    [durC-i] is either [calendarD] or [clockD];

    +
  • +
  • +

    the order of the [durC-i] components is used to determine the +evaluation precedence order of the duration statement [durationP].

    +
  • +
+
EXAMPLE 3 +

P1YP3MP2D describes a duration of one year, three months +and two days, to be evaluated in the order as described.

+
+
EXAMPLE 4 +

P2DP3MP1Y describes a duration of two days, three months +and one year, to be evaluated in the order as described.

+
+
EXAMPLE 5 +

PT10HP2DP3MP1Y describes a duration of ten hours, two days, three months +and one year, to be evaluated in the order as described.

+
+

7.4. Negative duration

A duration with a negative value represents a duration in the reverse +direction of the proceeding time scale.

+
EXAMPLE 1 +

-P20Y3M describes a negative duration of twenty years and three months ago.

+
+
EXAMPLE 2 +

-P2DP3MP1Y describes a negative duration of two days, three months +and one year, to be evaluated in the order as described.

+
+

7.5. Fractional duration

+ +

A duration representation can be modified to accept a fractional value +in place of any [i] specified in a durational time scale component.

+
+

7.6. Exact duration

7.6.1. General

+ +

This clause describes methods to resolve exact duration in +face of ambiguities.

+
+

7.6.2. Context-dependent duration

The exact duration of some time scale units can only be known +when placed on the actual time scale.

+
EXAMPLE 1 +

'P1Y' duration could be 365 or 366 calendar days depending on +whether the year is a leap year.

+
+
EXAMPLE 2 +

'P3M' duration could be 90, 91, 92 days depending on the actual +calendar months and calendar year.

+
+
EXAMPLE 3 +

'PT1M' duration is normally 60 seconds, but when the minute is the +last minute of the year, it could be 59, 60 or 61 seconds long +depending on whether a leap second is applied.

+
+
EXAMPLE 4 +

'P1Y2M15DT12H30M', duration of 1 year, 2 months, 15 days, 12 hours +and 30 minutes. The actual duration of the involved calendar months can +only be known when the duration is placed on an actual start date.

+
+

7.6.3. Speculative duration

The exact duration of certain time scale unit may only be known +after an event occurs.

+

There is no universal rule to calculate leap seconds in advance, since +the decision to insert a leap second is driven by a number of dynamic +factors and only known when announced by the BIPM.

+

Specifically, the exact duration of the last clock minute of a +calendar year can only be known after it is announced by the BIPM, +whether a leap second has or will occur (in UTC). +This event is described in this document to occur at the +"leap second horizon date" for a calendar year.

+

The exact duration of the last clock minute in a calendar year +is one of the following duration:

+
    +
  • +

    when there is a positive leap second, 61 clock seconds;

    +
  • +
  • +

    when there is no leap second, 60 clock seconds; and

    +
  • +
  • +

    when there is a negative leap second, 59 clock seconds.

    +
  • +
+

For the accuracy of general purposes, it is acceptable to assume +the last clock minute always contains 60 clock seconds, just like +any other clock minute.

+

For cases where durational accuracy at the clock second level is +of importance, the following steps shall be taken:

+
    +
  • +

    When calculating exact duration prior to the leap second horizon +date of a specific calendar year involved, the last clock +minute is assumed to have no leap second, such that 59 is always +the last second of the year;

    +
  • +
  • +

    When calculating exact duration after the leap second horizon +date of a specific calendar year involved, the last clock +minute shall reflect the actual duration.

    +
  • +
+
EXAMPLE 1 +

'P3000Y12M31DT23H59M' is considered to have a duration of 60 clock seconds, +as the calendar year 3000’s leap second horizon date has not yet +occurred.

+
+
EXAMPLE 2 +

'P2016Y12M31DT23H59M' is considered to have a duration of 61 clock seconds, +since the leap second horizon date has already occurred, and it is known +that a positive leap second assigned to the calendar year 2016.

+
+
+
+

8.  Evaluation of date and time with duration

+

8.1. General

A date and time representation is modified by a duration +in many cases, including the calculation for:

+
    +
  • +

    time intervals when given duration as a start or end;

    +
  • +
  • +

    boundaries of grouped time scale units (Clause 5);

    +
  • +
  • +

    conversion between of UTC of day and local time of day via time shifts; and

    +
  • +
  • +

    occurrences of recurring time intervals.

    +
  • +
+

This clause provides methods to calculate a consistent result +date and time, given an origin date and time ("origin") +and a duration time scale component (duration) to apply.

+

Modification of a date and time representation with +a duration is described using the following representation, +called a "date time formula".

+

resolve(date, duration)

+

or

+

date + duration

+
EXAMPLE +

2018Y9M10D + P1D is a date time formula.

+
+

8.2. Prerequisite mechanisms

8.2.1. Carry-over of overflow in time scale components

An "overflow" of a date and time expression is defined as assigning a +value exceeding the maximum value accepted by the time scale component.

+
EXAMPLE 1 +

An increase of P1M (duration) to 2018Y12M (date) will result in the expression +2018Y13M, where the month component is overflowed with value 13.

+
+

An overflow is considered resolved once the overflowed time scale unit +has transferred its excess to the immediate higher order time scale +component.

+
EXAMPLE 2 +

The overflowed expression 2018Y13M can be resolved to 2019Y1M.

+
+

An overflow can cause multiple carry-overs when the overflow not only +causes the immediate higher order time scale component to overflow, but +also subsequent higher order components.

+
EXAMPLE 3 +

The overflowed expression 2018Y12M366D can be resolved to 2018Y24M1D +(which still contains an overflow), which can be resolved to +2019Y12M1D (where there is no more overflow).

+
+

8.2.2. Truncation at time scale component boundaries

A modification made to a higher order time scale component may +cause the value of a lower order time scale component to go beyond +its value boundaries. This condition is described as +"out of bounds" of a date and time expression.

+

This situation occurs when a modification is made to the values of +certain time scale components, because a lower order component +always has its maximum value bound by its immediate higher order +component:

+
    +
  • +

    clock minute (clock second value of 60 is only valid for a leap +second);

    +
  • +
  • +

    calendar month (calendar day values 29, 30, 31 are invalid for +some months); and

    +
  • +
  • +

    calendar year (ordinal day value of 366 and calendar month/day +combination of February 29th is only valid for a leap year).

    +
  • +
+
EXAMPLE 1 +

An increase of P1M (duration) to 2018Y1M31D (date) will result in +the expression 2018Y2M31D, which is an invalid date representation +as the calendar day value of 31 has exceeded the boundary of its +immediate higher order component, the month 2 (February).

+
+
EXAMPLE 2 +

An increase of P1Y (duration) to 2016Y12M31DT23H59M60S (date) will result in +the expression 2017Y12M31DT23H59M60S, which is an invalid date representation +as the clock second value of 60 has exceeded the boundary of its +immediate higher order component, the clock minute with its last second +at 59.

+
+

An out of bounds situation is considered resolved once the excess +value is truncated at the violating (lower order) time scale component.

+
EXAMPLE 3 +

The out of bounds expression 2019Y2M29D`" can be truncated to `2019Y2M28D.

+
+
EXAMPLE 4 +

The out of bounds expression 2020Y366O`" can be truncated to `2020Y365O.

+
+

8.3. Simple duration

A simple duration is a duration expression with only +a single time scale component.

+

Evaluation of a date time formula that contains a simple duration +is to directly apply the durational unit to the corresponding +time scale component of the date and time representation +and applying carry-over.

+

The steps are as follows:

+
    +
  1. +

    Take the value of the time scale component in the simple duration, +directly modify the value of the corresponding time scale component +in the date and time representation.

    +
  2. +
  3. +

    In the resulting date and time representation, start from the +lowest order overflowed time scale component, perform carry-over +until there is no more overflow in the representation.

    +
  4. +
  5. +

    If any time scale components have become invalid, apply +truncation to them.

    +
  6. +
  7. +

    The resulting date and time representation is complete.

    +
  8. +
+
EXAMPLE

Calculation of 2022Y2M28D + P3D:

+
    +
  1. +

    Direct modification of date and time representation, obtains 2022Y2M31D.

    +
  2. +
  3. +

    Apply carry-over to overflowed components, obtains 2022Y3M02D.

    +
  4. +
+

8.4. Composite duration

The method of evaluating of a date time formula with a +composite duration (Clause 7.3.2) is to directly +apply the durational units to the date and time representation +without truncation, and only applying carry-over at the end.

+

The steps are as follows:

+
    +
  1. +

    For all values of time scale components in the composite duration, +directly modify the values of the corresponding time scale components +in the date and time representation.

    +
  2. +
  3. +

    In the resulting date and time representation, start from the +lowest order overflowed time scale component, perform carry-over +on all overflowed time scale components, until there is no more +overflow in the representation.

    +
  4. +
  5. +

    If any time scale components have become invalid, apply +truncation to them.

    +
  6. +
  7. +

    The resulting date and time representation is complete.

    +
  8. +
+
EXAMPLE

Calculation of 2022Y2M30D + P1Y3M2D:

+
    +
  1. +

    Direct modification of date and time representation, obtains 2023Y5M32D.

    +
  2. +
  3. +

    Apply carry-over to overflowed components, obtains 2023Y6M31D.

    +
  4. +
  5. +

    The resulting representation is 2023Y6M31D.

    +
  6. +
+

8.5. Precedence duration

The method of evaluating of a date time formula with a +precedence duration (Clause 7.3.3) is to apply the +durational units one by one to the date and time representation +with truncation and carry-over at every step.

+

The steps are as follows:

+
    +
  1. +

    Starting at the left side of the precedence duration expression, +process every durational unit one by one as follows:

    +
      +
    1. +

      Use the durational unit (which only contains one time scale +component), to modify the corresponding time scale component (the "target component") +in the date and time representation.

      +
    2. +
    3. +

      If the target component has overflowed in the previous step, +perform carry-over (to higher order time scale components), +until there is no more overflow in the representation.

      +
    4. +
    5. +

      If any time scale components of lower order than the +target component have become invalid, apply truncation +to them.

      +
    6. +
    +
  2. +
  3. +

    Once all durational units have been processed, the +resulting date and time representation is complete.

    +
  4. +
+
EXAMPLE 1

Calculation of 2022Y2M29D + P1YP3MP2D:

+
    +
  1. +

    Process the first durational unit: (2022Y2M29D + P1Y) + P3MP2D.

    +
  2. +
  3. +

    Apply the first durational unit to the date and time representation: +2023Y2M29D + P3MP2D.

    +
  4. +
  5. +

    No carry-over is necessary since there is no overflow.

    +
  6. +
  7. +

    Since 29D is of lower order than the target component (calendar +year), the representation is truncated: 2023Y2M28D + P3MP2D.

    +
  8. +
  9. +

    Process the second durational unit: (2023Y2M28D + P3M) + P2D.

    +
  10. +
  11. +

    Apply the second durational unit to the date and time representation: +2023Y5M28D + P2D.

    +
  12. +
  13. +

    No carry-over is necessary since there is no overflow.

    +
  14. +
  15. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  16. +
  17. +

    Process the third durational unit: 2023Y5M28D + P2D.

    +
  18. +
  19. +

    Apply the third durational unit to the date and time representation: +2023Y5M31D.

    +
  20. +
  21. +

    No carry-over is necessary since there is no overflow.

    +
  22. +
  23. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  24. +
  25. +

    The resulting date and time representation is 2023Y5M31D.

    +
  26. +
+
EXAMPLE 2

Calculation of 2022Y2M29D + P2DP3MP1Y:

+
    +
  1. +

    Process the first durational unit: (2022Y2M29D + P2D) + P3MP1Y.

    +
  2. +
  3. +

    Apply the first durational unit to the date and time representation: +2022Y2M31D + P3MP1Y.

    +
  4. +
  5. +

    Carry-over is necessary since there is the target component has overflowed: +2022Y3M2D + P3MP1Y.

    +
  6. +
  7. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  8. +
  9. +

    Process the second durational unit: (2022Y3M2D + P3M) + P1Y.

    +
  10. +
  11. +

    Apply the second durational unit to the date and time representation: +2022Y6M2D + P1Y.

    +
  12. +
  13. +

    No carry-over is necessary since there is no overflow.

    +
  14. +
  15. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  16. +
  17. +

    Process the third durational unit: 2022Y6M2D + P1Y.

    +
  18. +
  19. +

    Apply the third durational unit to the date and time representation: +2023Y6M2D.

    +
  20. +
  21. +

    No carry-over is necessary since there is no overflow.

    +
  22. +
  23. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  24. +
  25. +

    The resulting date and time representation is P1Y.

    +
  26. +
+

8.6. Involving fractional duration

When fractional duration (Clause 7.5) is applied +to context-dependent durational units (Clause 7.6.2), +it is necessary to resolve the fractional duration in context.

+
EXAMPLE 1 +

The expression P0.5M ("half a month") is ambiguous because +the exact duration of a calendar month depends on its context, +and that the context for which P0.5M is anchored to is unclear.

+
+

The duration of a fractional, context-dependent, durational unit +can be obtained by first calculating a single unit of the durational +unit in context, such that, the exact duration for the durational +unit in whole (e.g. "P1M") becomes known. Once the exact duration +of a single unit is known, the duration of the fractional unit can +be calculated.

+

date + frac-dur =
  duration(date + unit(frac-dur), date) × value(frac-dur) + date

+

Where,

+
    +
  • +

    unit(frac-dur) is the value of a single unit used in the duration frac-dur;

    +
  • +
  • +

    value(frac-dur) is the fractional value used with the duration frac-dur;

    +
  • +
  • +

    duration(date1, date2) is a function to calculate the duration between two dates or times, +such as Clause 8.4 or Clause 8.5.

    +
  • +
+

Given that "date + unit(frac-dur)" can be calculated, this +method always produces a consistent value.

+
EXAMPLE 2

Given the expression: 2018-01-23 + P0.5M:

+
    +
  1. +

    It is rephrased as duration(2018-01-23 + P1M, 2018-01-23) × 0.5 + 2018-01-23.

    +
  2. +
  3. +

    It is reduced to duration(2018-02-23, 2018-01-23).

    +
  4. +
  5. +

    Then P31D × 0.5 + 2018-01-23.

    +
  6. +
  7. +

    Then P15.5D + 2018-01-23.

    +
  8. +
  9. +

    Since P15.5D is an exact duration (duration of calendar day is +known), P15.5D + 2018-01-23`" is resolvable and gives the final result`2018-02-07T12:00:00.

    +
  10. +
+

8.7. Involving speculative duration

As described in Clause 7.6.3, there is no universal +rule to calculate leap seconds in advance, since the decision +to insert a leap second is driven by a number of dynamic +factors and only known when announced by the BIPM.

+

The rules specified in Clause 7.6.3 are used +to evaluate a date time formula that involves leap seconds.

+
EXAMPLE 1

This example applies identically with or without a leap second. Given the expression: 2018-12-31T23:59:59 + PT1M:

+
    +
  1. +

    Apply the durational unit clock minute directly to the representation: 2018-12-31T23:60:59

    +
  2. +
  3. +

    Since 59 is the last clock minute, treat the overflow with carry-over: 2018-12-31T24:00:59

    +
  4. +
  5. +

    Since 23 is the last clock hour, treat the overflow with carry-over: 2018-12-32T00:00:59

    +
  6. +
  7. +

    Since 31 is the last calendar day of year, treat the overflow with carry-over: 2018-13-01T00:00:59

    +
  8. +
  9. +

    Since 13 is the last calendar month, treat the overflow with carry-over: 2019-01-01T00:00:59

    +
  10. +
  11. +

    The resulting expression is 2019-01-01T00:00:59.

    +
  12. +
+
EXAMPLE 2

Given the expression containing a leap second: 2016-12-31T23:59:60 + PT1M:

+
    +
  1. +

    Apply the durational unit clock minute directly to the representation: 2016-12-31T23:60:60

    +
  2. +
  3. +

    Since 59 is the last clock minute, treat the overflow with carry-over: 2016-12-31T24:00:60

    +
  4. +
  5. +

    Since 23 is the last clock hour, treat the overflow with carry-over: 2016-12-32T00:00:60

    +
  6. +
  7. +

    Since 31 is the last calendar day of year, treat the overflow with carry-over: 2016-13-01T00:00:60

    +
  8. +
  9. +

    Since 13 is the last calendar month, treat the overflow with carry-over: 2017-01-01T00:00:60

    +
  10. +
  11. +

    The clock second 60 is out of bounds, it is truncated to the maximum value: 2017-01-01T00:00:59

    +
  12. +
  13. +

    The resulting expression is 2017-01-01T00:00:59.

    +
  14. +
+
EXAMPLE 3

Given the expression containing a leap second: 2016-12-31T23:59:59 + PT1S:

+
    +
  1. +

    Apply the durational unit clock second directly to the representation: 2016-12-31T23:59:60

    +
  2. +
  3. +

    The resulting expression is 2016-12-31T23:59:60.

    +
  4. +
+
+
+
+

Bibliography

+

[1]  ISO/IEC 646, Information technology — ISO 7-bit coded character set for information interchange

+

[2]  ISO 8601:2004, Data elements and interchange formats — Information interchange — Representation of dates and times

+

[3]  ISO 8601-2:--, Date and time — Representation for information interchange — Part 2: Extensions

+
+
+ + + + + + + + + + + + diff --git a/csd-datetime-explicit.pdf b/csd-datetime-explicit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aab76449fe32ef26bbf1749b96d030865792e08f GIT binary patch literal 197796 zcma%iQ;=xQmS)+uZQHhO+qP}n#;H@bZQHhOSIyrY9Wj05PE6d0{giuU=6d61E?%DRLopIC5ZD`8LGkd=3p<$_y4X7rPzYN%+1pyW+EPN%D>&JkxEh=O zGpKBBX-NOiTmoA*&VPRVcd(_sors}}DFKBD7ZU>`2O|?B10x#~6Dub*0|WU#-#>A( z_9p-T5I#OAQ#+IYN`dMBrXpr(}@hPL}&@X&)X93Z7mE zqW#VMCuWaBU%4}b%d!rAH$LVr#vKOrmF5P797q zvZ!&;031LUjG3T{jbp?KJ}l8NxzxCT5O_lgA<#lh*(S#F<%u9zfDepWp+_Tl;sLyO z8$fc-T?VRCFt7!f95+_zZye&Hq|aM`I^)pb$G?R64{t7cRu-bks<47X=4954;274Z zh1quI5D|Lm-~UejS`<&+e|E4R;uGo86`h(4Ewe>mypSA>Q!0i~mH@Yw^*;G8jI zt|%QX5=mK2$#6#vWoPNp6@u|4c%)#_YMw~OS(MJU;)*Hb^%H^3w_j#h%MMkfE&v9) zFY+8f53$^68BHK9m03FXPW7zD&&mu=0zXBC4PC@Y4|Ty-Rm5)&!%B8n`-d<{%X87s zsJuv7P##zk!h_Yj!M3|l7o<0o3$50;Zrh`yj+lCGBCKcHjLB}l4y*e^#6LQBp%{uNX96@c67FNAh zKuE2Dk%pXnO4BhdwI-c>e7B`jjwQ-cMdDN_lT^Okn|}VbmrOlwXqF5Ki>Nx1<|R| zqcDf(a!tb`VF)Q7j|sl%3CNvdur_d1tN}4X#6j%{SS2h2X)N< z8R{6>85#aJ?5?%1t#sHCzI){hcS9)_&akEWt-T*RO$*`Y*aC&1WOwnoHd0^wOyXmxt4mmg)1|{coybxgOMsL}x5V_4N=z zi*xS9#Gy)hzFI!txu3y*TNcwqN9HVd&&$^7ZYi=$$`!VED?Yv#!Cil5)8#u~@nb%o zR%__wO;X~AH!AiH>99@5(NWh}m`=VJ%uIdjsgTNFyf@m4T%x|iWZ0Og{>(n4^OvWuiU-_asACf zT&HZ>E6?!!RaFmWk;;(0Rb=u=!W)My>@haa-<#B9m2+O4mR_^`HrFQ`5zw>hLmotd zq0!h3x67q@xcPUd+meSar)DR&0xX$tlcYVnHRl6)U!A`Zs?obF(-LP;KkK)J($`$O zW;%KCXF&`q7KlC~W6k2S@!s2dMHtJJs zTZ)?Zav*S`qr~erCxSs&++L{!9|JBBu<8mgPMq8|@7HXYbm$*_K$X7d@<*|VI$=@R zq|R{T+~9|^*nVgrxay()Twk*Yu!X{~1=ag`_YpD!H&+AEk9%snpS^`D|B1U=icA9{ zzA@7-CA(XuNCyXK7nrP`*T@3-lTKv4Ud2K!8V(m(YW0m;MfA(y9Ma)7%6+_7E1ZN- zhOu8Rwq6)@VS8KJ6I!k!6$*Gk0B91#b4|FZFw)m1bOWQI?HZFJUIJ7LKqX`eEpsdg zvB_N+G^e3JIffOp>$aJzYN9)y!(6bZV2cRsDx6?&G6<5sqJ>cs4wh02Ek+fQfxl)O zQE<7lj0`pp;B25Q_z_UHvUEfi9xo1j8tp?X)J{1(_8&tbH(?#$MlVEEFagyl%=I#`K~|&k00xpX$PGw- zwA5v|;SVIT31ns66|+>?@875xJ*!^J(VExA%q%n>Epp4}$ona&`7=;>cFhdA+<^_y z&V9yUI7W_p5qiX9>0lndsBwJ< z`JoV>uZrD$fxl8*is?WepC$%6q>b!%TbAn|@>*G0^Olr{D`jbvgn)noL3dGvz&<`= zT+xc07YT#m33!QsufB9)hM%>Im=3Mk~QE! z=7VZD3+iY!0_W2+I&~fZK?nhcQ7cLWVIhd5mEO;;{gp>CdUX@6cBgpTFK3<5==`XP zP2j**3sEqj!vq2#Ku`jUbstmEg?kuR0`U5F@Oo7VacO4^aw6{d1*@14L)Sug!eA8Q zz(BqTK$}o-FW*ouiE!ciJ~hE(Y&Am%=@lN6QqaC)M96dmqF_ePg8n)82($?&p_Gw+ z)K9=iNcAN0dH}=YYl$LI%c5cFqQW9_@Hs*bgAD{NK*Cm|V}>dxXWS}Yr=0;TSWrCM zXM!+XGFTazBTr%UMP}4ov=D4li!`MU7uY!s9N3IB1O(0y20sh60Fc=85e7-CCL9qB z2DUJWKqm;vfU^ni(Gdu*LKj4(jm^oqsH#-xy2D@R{X89vpKKAh*K>Fz&*}KDZ+5mc z&WwK-J(mAa^jKJ#{#EpB?XlTmes1&~^TAb6NtKEM3?XinYhNIu1O^Wia0e7HV4H~T-j#Iwr35FUvo9T#v#ZArFg!6Tpwq_2r>xx=V52O z54+3yIU9moEo2=;23z^rd%qdJXz^dbOvbcYwcUQK>&Li_Vu%RhCI=aQem*SMeor^k zr$6Q0-X3nva`19-8At*Y`%YyWfJtD08DRwgU*%&_L17|bglA%D=W?eR#-e7lFk1B4`J>YI%M3qP!E)*&l^z~4uknLnJX-PZ$m(G@a>NPZ2^_Fk zd1HpYAutH27Y_`F9P#dlrU>(zvv#S!AKi>`qKEMmrcQG4c{%Am` zNvzOPhpzKAB@M<+)`Y6!;ry<9BRC-8D%>HO=K_$;s|jQ=;DQBZgY^|f5+3d$IC8|{sItt;&jLp&?aB3PHf@^w0c5#25oJQ=58GuR1rreECwrT~vkVdq z(Zh^#QYW6{NSOYK06IZ=TWVEoN-9m53`^%ca-oz-?jWdrd3xG=_s_Gwyht7Aq2D&n;!k>6k@XbXmkgtO(_tE$PGu)QKAAQBa1}*HAOEC#&dc{^pb346Rb?2HHiNVa@glN7IS^sMX|g zPoXg9V}57|QaI$LXnYq#U4khoyjR3D-jxP<+jy|!)m^x97foajZ-wZ zoeNL)E~B> zX^ydW^gc~IjU2-_Bg9N91l4!?whmM zL2qzfj!bIOS&}eMaq#YXu+E+@R@_IIBUb54)99~h2gP;oE)7jgw`KR|SmZhN<7c{f zD{s<$EBu5Xm+iGEL&aEnQMb6k!O*pF*J`)i?hU{}fR*^}jI_=t>Me*IDP#ZHE<6Pv6- z%dO-%E`O3e%Sm@v>pn=?n0!?rD)w1|% z%t>hN@@e=_`vSY8^3qM|k5gBacFDK+XIB~jR()Kqex%(q*|~loiuQ&%3yXKNuR=}v zC+_|NID$ZI{5$2d{)d#$$jSIGl&_^9jm?hW|5`TZOc*7WmB^w1)joIBK0Nndg^mD} zY%jly8?EQ+X?8NHJ>7WjszXlcHsyeDZnaxwibb7D5|Ch;6VrMYuy3@?8OS(NZRc(V#8iUMJzfAt_ZuTI* zKHrUAulvcNf9LuAQEvYj0CF%qH(F50i~^Z*8Vx|!ar|6+D-p=;OXuos4j|Jf{D6HL z`jiX}dE;-_=X(2@KjWu-r~YgF7B1rCHr-NZH8GMHQ32_#`A->jDnAB1vZ&{Yj!7Y0 z%sl~yC{4pVjmQ8Aw#RRJW}2ZMoRiULOeJg% z`n4QIoT#6@=iyDedI zQo#{FAyF+>YcYtP$IMyQKIwP`4GQqyWp^vAZH2Rcr&x2XvlfJd&q-jT@oX<0~CD{et7Z#egE8A$y5Q^zy1cKhd@URd==x3zt-ASpwh>E!tF9`4wEZ zMS%7>kXooK3PjYBR@n5FO7^m$KoaWmdZqsUJ(f#i;c6~dPqCe4pbTcf7n7^*KS%*2 z&;i8NuSPLGNmh6xmJMdhiQ^Ui>ltyVaA`vr{s~4&U&?h*3($yed|8f}veB{eQInP{ z2T{E-O>O}O&b{r-uS$ClD;<3Ep2g*OD{iKI6+Mc=b-Qz)<+WCplk5&5(F{+@-rTer zgSdow939E&>?i5Tak6y+-3S$Y=!j~^t`AX|kVFwg4sm`9|C#@ns%tm-Oi}=}X(NYC z_v-_I3!(C9{KSl2@Wb_aY%*>#>oC9$X9+t_GOmOmKO`g2#(CH}4}JSO4CGK@%|`Cv zP!S;_hz8MdTi{7scX^^UhJO~3|LlvyuO&OpCIkODp_Z?Z4fOk2mi;k3v;|>gzGc0y z1S&m*`4qhBf;87rgVe_Mpn~m>)n@gKU8jCQW%7yn4{-CQ#DgMyG{=qMw(wMTeC{)a z)qE{l+q8(=iHX(bpOuN$ba{DZQn4EPd>>pq68e$00tL~9iiDfp$G>#N{q6eoR9V*g zz9+l(l|cT25~hup|7_Og%dl;OeLZB}CYC%tJH4(U;EbkOktdiaKUr)tiMj7 zFNLXsQOb>+ApG%t_&Rt@|NG_lapBGQ^>a)4{3-=A0!oP-x+_;)=Z0a5W7i~ADz_|e zbn7l(R?8P9IKF@0%JJsu>IC6PCm6MVKD)T;$hDune;(h~u;vUUxcQc!=Z9$&t(K0) zy)lGPT}%72U?hfVW0PbZokd4$)x^{y;d=deT{;{;AsTkU$Mm!Hu)S!RvH-KnkAyvu zPh%4S(>%LwFf|2s9m;T)~z>>S;QDePoXSVTyuOt*9 z!oL%N-#*j!5o$K7TR=j%vt1lv*{?0LEvY`b6R+o;VT&N{1$bsc&Vr)t6ub@>PqFf( zPzA{+zB>&hj9^ErUV;eSoHcY4Cey^tV`qBk z5D{|6tkoy8=Jij3qiLb^VNkSM74S6&PQ_j!dR`swT})qcrw-6QjV(Wc^w4L!;7Bht zxqTgPQi2p>3md=Mj%-Nb9BF_}_!es#k+7sTG(65uzpI*532KYC1mh!>oQ_29b%EYW z;vdq6!WG;q5PXs!!~L3gn#_=DdC8>_cb4kL#y_@DphDp&dCl;T3S_XRkRKgw zSfOHpENxDxQFh$Ml#ClgNnd2b2M!$)vxXN}g>P?=gCuPNNnO3|aJ-~V=GoYx=HC5t zW;s0jE=FU4D=mQJ1LvG%5fpSoC#` zYMV$DUHRs$<4Tdju92y`PIoI7V^5a9yzJ% zA$T_BaL*Ja_X>k}ivfM;7l17^VQ!1Wio{#wl-cRy5gxtfy?cImRk*yc^d=i8$wUQq z#J6i_tuk5W0|%X+YBQMw$L;$`f`#G@o@Lokl_jy6(2@j#&r-5ku7O}DP0@>|DF=<)vM9oanKz;gJi@Q9h9UFOt?*L39@A@K`(O@ZYK<2IeJD{h z*ajw+k=9Z7UDcVY#A%P^Wk_gycgtLAMEUtTre-##)s!JfIq3eR@v&RgFA)mI&k2)0 zi_f#du+;KGq9(QqY?*B8hM%2Es69}}QZ_BX?FYLio&Tf1$ z9yj6j?q-*TgI|A%R~;$I3psKgRg=F@ki?2@Xg?3`8rvA|ssGR{M!wCb4wUCQCCnXWdVmFMw*O8YoVg|tk-x%i1^{FG;;Qo%-fc9WYBx4M7eUOAr zb*(3mhD*aF5yl7GP^4Q6BVqH`n)f!<0rjAcmSu|KQWe9&iApEXKO`$y7&A9@#M@Qr zBc<%r7+27H1;N(0u$L>j_UnUR*K6TxGY>pZk7Xm9bzqlx48m#EdgJ)} zc*B=L392;okAk(2&1m;rC@YIlv6noz*lV}SyN`ls#aO;$0*0ukFQ@f}7{lca(R!+? z>VZ-M%!bFu9T@aw&y4O}PLw_UXtu_Cf3mbike0L$Z%2tizi)*j-P_H~oQKw3yE9y2 zgor+Pi^i#j&-zWMrygj1P(~X(%=<}c>4f5b-b}>B9eCU;(`Awzl`P>B^Tzvlc|br- z-Am`;cJD}+RkA?;J?0`J*>1-XA7i)@Ix_P##*W4R@Jc+jTlPID%Xn-J&NYv8#PD$k zEdOo6l5QIWe&+;WG#tm6n#Ih!@c?NqVSuqjjI!$uI!@5pkQs_=HCk3F!mw~^uF6z{TO z|6%u`A7TRm(|RcCo%eEs@OY^Zh~90`<+7QN@C8}N~OE-+F<bg2PfDQ^HlvHCU(7HWwd;AjpNWJv%=gUhLURB>uVfeE+ zHg&g|`9tpA*XZgcsqvg07Gy1~>#4WzH{Gy}A1XT>kE)z7IX9y(u=uPT2jdHIZhJ)g z0*H&W`4keT6YJ(i=X?)!(rG({toQ3!Mx*Eg+4x-xs6&2dJ@4xv9jVascq$E7e?Q|~ zHSQHYQ-_UDZSEBJ5YM+sCW$1Ja#v?567XBvAA>qNX#hKa;PgITtdw2Kmi2|SCH%Ac9=JXNnCL=`ccO(=EPbH7RN*G|LVKKXf{ z(oX-~y|Vvj?v;_1o%LVbtM;bd78`=^Zta|NAVZgaK#_nAyQf{f0Dplk5Q;?LpI>;F zzoev6FZCSM!)~y*L}Fb!PB+ZvVGVO+v9*E=pSc!(v1*YeN>PKi`trXyDGvjS)MtX& z#4z1g1=jB}@AvH8^0NhI&Zx#~dQ#F8<1y@sx6G^D(~ zg5e#@BH2lKQ7E9P*RXf#`TC$aL7#8LYqj|0E%< z6sef@gd{FX%lFrdD7MqvONxr-*(7wLW`9xUY{0Xtwrn7qrC_)xAsW`v zJSAvv_a2G?I+ATvNk7}DP`F}fxNb*jpsto)MGRUVTy)i)K4gS1AXsBL&5cHPO`O5v0gVLi3CS2*(%g0$Zer0NQO|}O4dWJI>GtQ)Hob5f6ZVElg#1eQ=f5`a z$35Xk@)7NBO~fMzAM_p`QpkUdUJ{&0ExqbC7!>BU1ELlzNcUHL1!Vvp@a~+% z%X9lT?LZ$y^0d|uBwCIGnM511K8dn9QjF>jZxV_}SV!&2a!QSC-QAq`q|j)J)ez&h z_+33geS-PL4iqGBp9s{{St53-Kb@)1oZ^MEkEhPH74ckS=spWgmsh6xMcTb3Z&RO~ z|1Ax}636N{P2-*K!7G32B*5n!Py-|r=BU{ly?0a>kq-=T+=P9!%Kj^K1~IK0IYFz1 z%43&Trdv4|f(klg-|C%_LMS<#g6|e+TLQYi7+sjirUn@!$YCdzZ2iLu7Dv(6XWzbd z^?;1|vJE`?>)dz%5$5(rhgOGI>b%63fsGx-pK#ns!SBFUJ8I+iG0fJHrNA|WUZSIK zFVX?jNE!G=hgbG|-KLYOuLAxi3UP>d29|wT@_Y=2mIJNw<}QWNfy=gH5X~-l+_cfh zzKg1`4@=JcFUD5KWstg+ip$2Gb4gK; zOFWu7t#77y)28M?qTHnBX@9^~pbrPN2e=`1@jpgEK z@@PDL`}q$06YJ8nrNAkwiAU-p33#Im&(wL24gQYrloul9c35A!d*&ZA^9=I|Wx==? zw_uC>o4-rOX*$Lt)!AavwN1u*Z<|C;O~MpxSzVVqxS9%T+HhUit7pmtBaM&{s4lFH zdvPd0mN5+-0-TSx2mT%ikIrY@>Z$IUflDFrne>Q4`D_xA5sCVp2Q{2xe6>f z4qB&j$>d9)hMk_jMBLRK*XCG0t(?oG|FndCTE9EqHKk1XT{e5!6g4W9p5Cjk^L6bM zI>D%YmYRMUSUkF|9fZu7Fqv5-fd9En!Ac=(teET~98E_nrjblOAI|rwnSyM`m397k zCLj%W&Y-o`%wx|kM7fFUXL=En|FlHN)w#MVmYU210U_=t>m5fP|?I? zj%@&y9W_=W3C^QLvFXg>9)oI&4(g_IOPj(hTY3SC-4F1yka z=YcWBkzNv=O_>^Y4W3KHeOf5N{Y(ANzR%{+vQRDkl7}o9v@ngYMsV z6LBy|+KT=}D=%qP7#yDR$=T<`LNZueDvT+`@3MNOBZ*lTCl2sUqZkWRRgRf5FSsf4 zmdEd3yE-L7E6CIZqA6g>AY0R9)e1?VYep3ui6pQt9^4AEYIfK*{Fi_#S`&Uyz_HKG zIqzRGvzQnR6R>P)TO?ny4s&igPLFJZczDxB&t%keJg?ev@{14=kVPmWSqPE>y2pLr zTVkCZPhpQRL^dTX37zMyfM{Qn{eyj1Fgm=CJIDI(($kh=uw$&TkTa-aehP)vxq4}j z*p)RSS>a)Q)FW`0l}k&~{Ejs>0qSx1xwUct8)Q2Bcm_NUdGlZxSRtTPv;_nuTw3%& zhNdlVfjcsf_BT%9$?5V3>6@=6`qE)1pYuDe!E`v^JE_Au_H^gN@a}6+UCI51l2#1M z9G_g-P<^K220aUZ`M)}G7tl`Mm&Yu%Hy^^fL3`QgZZS+nc6awez*!uK{k{kkj%^>KPATKuN7Y4*Nnf=NZ20^P z;)irBHvrCe5^5im#`&o7L#LRcvu!9W`?6>ju>3slaBzN&i?W@-j!;;hP0q96q_-|# zrYS+_vg_b@(w4=LDn4AMgRB_2^-l5?&Q%GnVV8Lz)l+gkS-n96)*~rnfY--sCn3&2 z^a`@(y127De!{+FtO-wL0gLc}ba}@k9)nqOrh-_`Pw(7vV*4=gg~Zu*I>iX@rhv(a zO9tfWc4THIMh}}a8LO-#f7F*Z5jR5KRM-T-cF|dC6$w>7c~#)OT1dr{Kd3gzq4$qa zn2MI~q=jUSIGwPrm?aw-&Xy%+OZz_=Uu^pQrLqQOaJ>%y`d}^IV$D2bVdk~cwCEP@ zOvba`ywCnh{3QFLIsJ&tRd($I$UkWMZ6-+8$8}QmOdf}SLMw@$=BU{}&&w*_QXsk$ z8{T4g8eI&i78cg&)Wcu3l{E-vH?KG2ycn5}GgfcB?Hif;u4M%m;-CztgWbv-u{r~R zAEIbjn&bOqkdKaUy=QWUS`)x$qzh8wRZT{yeW6^UZp|sL#SjT~niy5*i>t=cSg=S{S*SVaBCrKSG(am%sA(Z;j=gk;_H-+%<}Bh_FW<1 zn>Tv47FAoc*)jrxF$7QZheO@7<3CipC%xIq!}jMs!oxgD@32-E*+s~sk6}~E-8Ftw zLk&WpEos8EJt9I`NkjKF$oN7L;8Y*Vu)!Joyg+7xq9Xg@mW>a^Bw;9^(YeGN3Yq7i zsguid3+&?evT@{A$yd_GRz z%@ULzv;A-mr>y8$GVp2qzBt|G2wbwKL7M@WsgC43ZIToI^QSinp&6Y|Q zq8Va*$AA z3yCpsDnnX`pgWoEB_3?y;S!X-Ju>pzt_E4Z%dWb-<5qf*ca3OGg%sAf>Q)nR-e9QmrGj zjYo6$GKqS^k|U!$!T!Bq2X%~a4qa(8atr~**=xezC<7|Nefs;CZaI!pD!&rD4^CE< z!m%TOkUb{1!*WBb_sk-C?C_%BUN$p?T5Iou5V{H7vN(R*H&G{bAQGuH0G{f!9q=z} zje?sYQYDs6R2Pdh@#3nRjqQWq1Q7nW>x1W=GEm_}PBBZe zgip(n8F;aU{V5;ShUHe>so6E1P4VPKliy+@F|=3E{*WXK6OM*? zf&`A-v}=0LA;5_9i=SZuCVcLIFVX{qgwcodnylmpIU8o*tHWy;<+=Ws>I2u9_Gwz3 z5(gPOwnjfAKyoL{pk{C5TZb>({X@lRH?S!C2m)rELsZg`q1A|R6d)9148Qv6REeb zg){qt1e}3j7yroJ`*K*EtVOI#9o5!?ooiL6N32(1;IJF_Zfy=)fYZN*YzM}N)cYyV zC6hT1=RZcOH}vm@9$sEL#3cO7&v%O5d+6%hJHDe(woWt;eWqHWXkY9y(Ps*P>K9e@ zjHVASk`>!YM5n?!WKmXgZ=ebGHc*gI`&K9Sb`wQSg$=IaGd{x6mUJi7c54Rk-5;8x zU;UOsSsILQ)9jD8WJCiCx%)uLZ3hPJuZxgNxprp(*l|7{o6Uxf^nGIJCb3wzJ|FY| zpW#p6T>}Juxu5g7mDF&ib$lK9Y=^~0?7tlq<#RWJrkqtl?LU{wj!p z5#Xo29Hjht|C}v*^#8iwT#VT^g)wO)qadLpFkI(J9zkZ&~Df@qppB`?>6-q*&`Y}GF>3_L~5jDhO>hi$4 zsDagJfhkOyl2=Rxtjq+sH(K?R{9_yBpwZL6HgJTyH=aQyi~Kmf`(K> z>0=hE>?Ta_H?W!dI@A_8q!bko>*7KlAt1_lBQ<0Hy&a;RH{z@{(T*_x7G;Z(ZY$l7U7=v|YMu;PI*c&^KBJm8M|%DfpiJl>?f6Hk zJ*-XHCDCAq5^Rj9V2PqQ+}ZEc2F5|GDlW&Qt@`Y?iHQu-eMsiwX)r6-HEE=y2guY7 ztn)FSuN0FmDU@pPL91R-0pGS;&`-?KjkLHP&cg`Tat1DwtE?FC3Kr2>KBqg(C;8Pb zttuECWkwPReXVS98B$PMu`!VYC-ZW<71A#z3v?}8*09d44sdhA$0B{ZJ`GL z+=9qmiAJh(-(bXdfO8L+)Do+2S(m_skc+Mv3)3Zwk;XLX6tKlAQ09iH^YOs^Ylr}= zH>E2tN`s0Ymr+GGALy2lHEC($mJkvf7aFxlm>aqWT%PhBE0;5E&$;5h+r}=Slrq1e z)+pvvYV&>0nD8iQ(D)pUz3=vmbNnu4CJQ3ypi-P0?uc42W(R4wnHLJfKns?7&k+(CVOnjZSb0T2ST!&usXJOSNk)tGK*=^^jW-~0 z4^&Vz=3e!#(W}&$?7pC+Tsr+ongvN)Q5MP36yz`w&ajCvEO+3Rzto3|q1$5#aoR}; zLclZw_itKsYBnTC$ihfW5+zM)KOf9lGa=rp)vZHNqqZD&hnOaY5VgA1_o3jG`a&LQsR^p;b_gXZBm5&Mg$#FU}j_xkYM3$ zXItxlHU~!j$qG#xed>f3XiveSE|&G%6xh)yCN@Gj^z<%=nwJAk)@;ht^elVLE41;! z%v-N<$42KAvyO?jfJ0gPVDy<6nwoP0-0HzHYZEmvZ#f#;qhPmYIx)4zV>Mgm;(Ji` zhwR)DlWjHwb`8Ywn#-XPex?;uYu~)#o23urSo{?=_9vtsflToEbF|4G$vAe?nt&HQ z4r~q`_GH^6)|KXsC#`O^4X+9&C#u;X)!nnhgj8DqIrq`^xn5oV7cr6b;FVXBiHz}z zCfjbW1WMqrv2hbko%w~v z8m7QkyT|*K*ueHG#!5Vyz{gwLnPWc4U7k9vvtl3M#_Ds4#j|U4C&cQDaG~y{xH&Pw zRl@DSRmNP`jXa^VH#)7cx3l-_zFHsG-0s*`hL&dVT~W5?S(^^fu!YwHTu}8M&y5Q= z&R7D=glo81sy=AHE7=lNqHCw7G_{7B#O8x18zOz}WDD~)(?-1MBbrexy|KcU_k%3V z@poBV_cQtn=Qrtp@u-@TiN-ukyToFA2oS!d>>}!GE|W~DgQ9KwVCC#OH<3)KJG@sW zC&yk==X)07e-ng`C7gfBAJ4f6n7y!A2wHEG+efUzi|SzA@0 z2!IzKnQDyXIdiJ*>C5YYyChY@U@TkgaOSowb1 zs9F5gEpQ~zDfO?7tcV+@nVp++#e8fB241c^fWOX%UjYg*kPe>PN9LhL@nP0yx}v56 zi5q;u&Wt27Zzo%pw>ELA>OQI+3*mx;L9d>Q=LO&0XnO+193~o4%*0){Uc=&ao z!X|+C$1!16AAPwQR0N@HXAIiFPJm(T!NZVSCwlP(Or~dNG=wgs)lyc#i-2&$%%N(ZBIDTI*Lo(u1}R%Q2iS|> zx*reRZxW~9ZW7+pgc}=rH@@gVr2`Xwc;%D9yO=g1duOXa*K$~8yYv;rPz|Eh>yH%* z?2n9A$b15ulULa*6zzzwVwQC?QmQE^P(-5YyoR)uKq}Jz@JuN+Mcv!Z!+QnB_WtIB&v|h7%(BnZ zb_cLYT_fKvX^8;T-f6@@YYS zo_nD_6~ZtIa4egcmS$2MWS*|Jh93e%z90zF!o(4pcp{E{*J zS{<%XJ#XvYdZ*Kwc0ptuR;+yiMf^_afw$v+Jnnkz^>DN0N}TA+Wur6xe($WKGo8%3 zzOn+t+)q9>pZcXr+81MF(aqmzL?)Jpg#qp!lrk4NFVOaM8Ah*md|iycW(c2TV`EQ& z&(2nd`8a&1BXvJ-OIIuFOAYZ1hl4rMy(t+b#@+kFDEPV}=0mqoQZvx(j$iiq9YP0x zrGF*GBkB#s#;u+AIO8k%3^TnK$1q7f32&?; z_>Y<3PG_boZGxJ*zPEfo{AmQ9Z||7DZR+ltpY_W>$+GAFiT(M)*T2pz|9@EI|MhtN z|My~?iJ6)GUpn`?+jiS*Fg^V8`DV(kmRaW9asI|j;|l(*ZALjQTU!vMm`wsUs}u~Sat%B*<6T2VRS#g&o$of(bd`X zR(#FZ_g?8UdydNzHvq#h`Sd*Poo67ERch=H8vp&z9e%wXKLgw~JeAkC@pwK5@Z3im zOykZ``t*EWUiV&?cz^wXS0x8x9?~lBuf|8(1vuK8RhW<_J1d2|rO@YsZU7egv!XDt zZR%k|#z-7*2?sSQUUnZ0tbZ2vf{>B@h3ca7PiE*mSrR%@`OA@-JVQBF&eo0G(?7*R z!N{_<(|CY$$jM#7zUO_GI#mNxDh|kTj_omi#309KQ7mC%IWivl%v&;HYUy=|U6p!? zCq;vOG&o1#W&DM+GQ<1E!3jU1FN89Jk9>%-|0;+6Bv2X`C3R6Bcsdz)|9WGWGw85e zAk&XSriAL{&^S#%ry~>5Ry7COB_1|FPEL<9!TE<|(TU+2F`nGZg7MlAF{CMf8$x@K zC*`g&+8X-UA3le;k^FBe#*!1oJDxH}%vPuiZ3a+g3ACw8po9b1Vki^M{va%DgS#fY z&)-a{T_dxZvR?2X_Hc zMbkA{%zjxkaS& zpEzaDiuPxb*{gu47$(~E6`|WAPm{Ck$YA*}BM#dG1tkkQWXp+g%j;0dP&C~@c-`PX zW%GP#95GNQ`(q%e(j!q0B$)|J_v}n;6qe6iTw=_y=fR%zUhPoRkRr0q*!zYfQ9A0m z?h05rl!)UPVBYUey-_PQTkom;ZX{+F>4>C0H5b54^o_vMOe0`=Pg224mt&VvLNZYo z#sGG!01YR2x}%9TgA~_GAqyG<{Wszkru`9`M#va=2aw>L*~akgko2Aalimqa$=P*I zQOpAMxTZUz__jhvu%J`_hp~5v&MfSlOJW5aSI4iXSpt}OZ#~)1L8&ZoGiL9OS&+5*r}hJ8ZH7S zk!Et@$VQ0!dei=%MiLN+B?bo8I#6la;Lz+_aC5;-XvE`dV)4z$wiL?VtV;t_5?4a< zc8ayRse-jL^p8sDww&6_D~yE)loDZZAZzN!JpuP%>~CoAr&3pHG)*^wze6)s8ljt~ z8Qes2RdFl-Ab>#;g`nd;C-e z-n@2d z1z4gY(m2Xc=;M$|FrmHXLEGK!?0>ZMzp&t#e_6|^E807|7Y}fQuLjCN4lD)6gSB>F z|5MhQiFf0dxoz67VERxear`(w{peqP!_fWWFJazVLEZ2@#?<(I&0F5Gv;T4^kC5)j zS!+e&$;eUbnP&BQrk<$kMXOg>Sexs(iu6GY{)+r$Q=Br=OHyx8+^bTNGNKsF>ax5k z?a0n{;c%Wz_1$n|I_`WY*Fi{`so1Xk4KTRiL6^0K<~J>^dP_O^ou$wrmG5+f#@7|H z(b}h%prCZGh%+OgjQ~HXwf-se>Kz*G3DaFr^@)mIb*2VSZg<=fd0k7c>T;;00 zmV8zv0j#(sUxgd+4F#mN!0%u|?ti(>^fET2Gq7?JE_9US3pOoxVxO_a^pf_gEzfs8 z^gAb%cI#WnbbMtCGItN%$(3i$CPBNKt*avHcuJ*?V(Bu9szz}wz4a{mu?aAfSrf#F zj-D0dU7Op%woQw`b}1*n*Yk(ayN5wg^q}VyY*>WcBzO6J8KrTZ%oN=u*M&DN%MS;- zU~RQBR5SlK13Eo%G)8?an-V$|?V?UYYLsn>5h}TQ5au2}w;q)fOM+vgJ6*SYGLoA# zV9h)RZroI#)=sO9=)P115JKcA;n`gT^EM_O0{|b2+ju=_U3eZeoAdCAZ*;2C{$244 z*S$PwF;+!ymZp)Qs=FHrx+B6!==j)YrtAf!Rd?A3vtrY?8^480;ckluCVADnr()V= z5=Pbj4=3AfmOa3*7PRgP>RLq05aVLTn4+X9+`^$<s&< z`N)co%Zi9vRG&gmoJeFJER^-Vdvu@n=gz?`hJV}Z2ljzI{1wE(?P=(pS4{rhhVm4K zo>nW7(9iH4kS7*gD9m z>p?NTD!~&sh>z3#vOX3?E5n-&X*OJCrjN)| z&fGok%wB1jhV}{@qX_RYWUT#axvzPXD$Yi618q+Pusl7o_ zCghvagh=mHylEolot=26_Wu|rAF0&ecTA(T6(Y1djPnHVlF6-y4tsnZWMIU)?QR-j z@(-kDd}?_U{92663G8>{0lz{tlOWOW1yy4B)I=s6bBUvy0r(i5MI2W1T=QYnFyAXb zpNP|xiPHa}(fTjZJk0D&|Jx$*|63;s*y_|L0_(n)?K;{A<(jXDa4XP61GTg=wKo6i=+OO8 z{jfT9ar^-=A8mgt@p}8%x5kv9JIv7kt~LS|z!=|zIn8D94dlmgP-7|XZXzj;vJJH; z?N-(eL>>!LVAQqOojKic-R9UyEk(D(H{X4hJ3kchcc;Y~>uK8F)>-%Prcq!u6+DP`Yn{V=Vm0zdx#$)%Sq|PV^`X~Zx=W3l!w?(Z zJ7!b4_B_o{hi2_XU6U1sN{^2Nd{g@Jtw0~|FD#;%+riK>59Q*!a%C>V&5nig=D=1x zM@sVfz@goM=F=F6uJ>sw3%iK6;(%iOg^0Qs&b3Y4g@SUB=bakFNVTSJa04uZj(!0y zwh$9XjyWrMy7BIOO@cXQdQ__k4S7aTmIUeQ7v*N_y*uCE<8TgzqrZwIUywU&XSFn%sJU1@Hc8^w|7RvIzYTI{gtYlf5so0X2r zdWWqTkkm_tn z3qm%I+?d6YLP140{+UM~&wlH`qv$HbDtbzwOKRIxIOwo+2r78ZFVBEBBP`)I8~IqZ zYsV#+)TZL3DzK^@aBRQ&l`yq6=IjMp)_w{S>|soEpkU)mAW)~1_)EpLj9%}T^4~Fm zn4k{>8eKrO`|^nmM4Diug$`TIY)1{!2+!*S-hUP*8~J!16t`+z%b!^zvVhxN-32;dggM+;B85r5$->0*N>cwd-2H5yQ+_r3_(cySiv-BjIRTu z?qhfN_MH&2sFgL(T$o%u^qp+3Y;rR^)noXA+%p8wqG?96N@oFR9>7W;MOetvOa+<* zchUyW2SC_>OZk-s27`3{q!-7o8Yc$}upR~BqSy`6`&KvO;YoZ^eJnVHY^)OQcAZ8I z>&~q4k2{D&wUe9j3{-7YJMko?=i$y&c}3(nQDLMqqRs%1XQbP51^9 zaq|Y$+M~>5=Mc0N2C|P&LlgqhvAyXss5lWg2`wPb&(K6lPT}@!wjMol$2DSooYi69 zal7XLMdIv<2=-^taC--BhnwgrVvRUj0M!n3yuLYXY_;=^ zho$?R1`&bm^lk(76&Qu@mUZLjbY3v1WmyI%ga}O0I!q7EF4#vglHy*DmCtmr93WOQ z^xNe2vxi(SoEEc=r^Qwy`F-U6c^dFS&rsXQpAa9rw4yE_C`EoqSo^vTM#2oCO68CtzGZK!YuLV-!; zKx`%aK_EjFY-fX^9os5oy|sWRXN-yl@1%F0?@kPgm~wp_&+6}a!;vh6=rBEcE9}p3 z!klHH)fX+bhlGS!>f40UU8NS+yJn{|4y1D*(QX7clTJgZ;mfV|%lfoRe2jjr3sr!X z08UG_Lkq{gmHF^NRxCs8Ric@Y6dgAhHQmkN!EF7~6Y%qJvebpA{=tL?;)$*NVeL@8 zJc|M+>UQ&TvfcW#X%6!u}v$Akc$~lhr_SzsFlu2L~r%rwmqDfZH9c|X;q2!gC zhgT+%ok&Jti+9O1-F+VF?DR#(wnkx6HrE@9)*s#;&JxqF<+&t0UrIA|Je<5tt_o;5Ie&WY2iL8r2QE(hB( zGaaxlFmti{V>4I`O5v;Kc!dicu-baDo1}9N;p$PV17jiD+3FV0zw`Po-wL;`6X5MX zuZ5z^!k=JuDBsc;zUVxG*@?{S*<~^G+hK)z;{@AqIBvB^Esx+gl3$e%tv7wWCVgeH z8+LRfz&m&z9QSbQlD&_Cl@&Q+@*W5CtM?zY0CU*9iKps4(!1+BOki3LH8w+C22Z#i zE@kewi4W*Tb5qdh)SAqN4-L8zOZ_qRs9s!MCMst(4)2pBQ&j)PO2eNoer760-y6I= z!qWoH-FE#6GT>ij@NAX9=Ff#7-_?}qOv*b6Ur9cs#``?3FE=vK?}VgheJG~(>1|SH zA#=EhX#lCECr@avdLQx}Zl`}5k|~LU13NnBc$&E1=RUCZXvf9zRU;ZQ^B`*D*e^?H z(3>6QJqxV*5)Q22y-Vl)C=e!_3o?d+H$x%haP4nQg1^)U15hARnD%c5fyM_WL~=Ff z#LNS|N>osm-MP(^yQt7q_Fy+nO-uA8W_^iMx3~BR!qyM1ps~x-n94%9%w09G;>f2p zk2EJ8#~>W#^Ss%)v)hz8B zj=8b;*1S)_LOVaMpxkx{Hy5Z&F(5;G3UpfyJ5E%C3e;hPZa%9auLqn~lVO6C)0)AA z5FOWxL#e{~$e}v-h$6DSdT06Srl&~kpQkIgAGPd8&wuT@l0+5IxzD!9ow}`D*G*%2 z9beaVr$3{pQOx;Q-fW4v`s2O>To|lxX*(*@{ z0TZA2W>fkAqaYsZ9iQ?tTaJ}&qS35hAC;f*5G`OZ59_s~?qSCaaEML^lO`#e7hN0; z|4hwJiu5?lj0ohZw|Q#!FO0mJPUX-;tM!=>?Pj}u5Vs(SpGwsa&7-W1$}!!%YYKto zFKgPP4>SPy!wdX?=2d=k|A)Twzl75Efz|-6nX@m50ehiYNhrvJ35>y&qP(&t7YDf9?_OxgPf! z!aet&8%~ZIXaO}=;YqbH!WF1OP0~!G8stSbf$z<)@86FKudOzo?ZX-Cd+zVnZt3pI zFbvu?HfzB4oqLS=*+c$*K3hFM(^>XE*PYL5_2Srbo@+yEx#j?V=?ih59S4AUzEvGU zKC}C4GyI-SslPB}w1Th#qkY#)zOeO9w=X>ChD;F0&Q}I{t>;JY2N#^)&tmsi&r(gx zr1yr@+4UTS4ie)BY);D}grz5o-g)-tJH%6ei%pNCngqV(miwQQhuMmIw~P5i>lbHM z+(4%f*w(*=p>0jT<6qz#m3JK+{JymG@32MLZ|CxxLh#}Zck|(i5xutlwB&=}hD-5< zGv7g$zV3_zWf+7X{5AQujf+EorLPAX(mVWet(DyqraJ|_GVT?wIU4(2HCR(E!-4f-Mxj^OEh5Wh^})lR zEto^lB3+U#%0shW)x6GfgXjS<5skBKT;CalhDYV@z}7E=hR4v3GVr$;Doyci7iBOA z?_|gDrO+&Vgj@?1?2w5*Y0{iNeV>?2v4_=n zF7M4F{kP!Px8*sgK`GjIdFMf{mZO(*aQd^;uw(R4vh&AhEQyRhjBJP<7F_PSgW#4vJLYz@kpbd779S{yLN2E!w@k=;6YJClV`v1xsz5&`5i|uVNnz>T`jy4zmu#zYl=#)qD-oFO%U{TA`OM z;**bi@`cHE)EY19p_*z7bQTgjS5+DqHK>W$BXph~#ycoH#ck9uP1be>VIL3NgywFK z6yal9*lOf?KJYHVvzk!e0tN?I4rYOLpa7X80e^?7D`-HG2(*-%uxsODlNeiJAUHQ@ zIIJf49hVwhx{Uz?sBhb*$m_&Xm%+JGQL9k1o6?p+oV%SDZcf9gk1()bOp^TujE2G0 zsJ5%8Pm}5UqW-)QaUDo�^2xHCQfhPz_FQI0zx$L4?{}Q2w3A3T!J#oqP?IhpUz9 zz12t+dL92b4)u(HxcE=+K4mTqHOf#isbGD)?F5;7@Tqh)Et=U=6r*t^`drO`ka+cg zkTER^0<+km2s)%Ho{HoA@fsA(yZtE&HO^OGK`3oHsLyon!l7#Y`otNWU!2bZ zap+5CA2NW55)!W&*jPP^4!i0}IxPPy)jae<=5v7}a9y&cv5+r^;c8`pB~t4BR&UODBC4 z92L?>fX1#%rJ!QuvLMBl83M^I@ zB}>~I`{+g#ro*0hAsB=OD;-S=f8KV=iZ|Io$`KE-Sz@1MON!XeUFw`Gn~09)S1@8` zLMW|9@-3ODI121DE4#HGCQ*8rF%>+6FLS`_rU+1tDjgL_$*;e^2Nfqo zU}v>%Fx9V!=y@^?4IvVW`DWvNP~3{d@9cgBsTa{TphC&$lX|G=dd}(!YnyjUm25dT zcIDrHS|{#1^K)t(K|%Lo;hct%%h^KvUjzPr)0bi#!=h|U-=mWyO-z{0Z}2-2fpo8k zKa5Olq^vDDNLahqVpemZhgYZkSiu1m^DsxUdOASPTDy^-4;0d*?w&-AzFqB-Eg_BS z;57_qqm}tyl}nC7o!tg4L%w~982lm5M^u-3I8+LJ1Qv!?RC`MB=Xd?oIj1j2-L3Em z#&dCD8+bu?_20yENKrxu+_!1n;wimI+}|=|=yu9kI2A6xCMVXwodIpD8n9DyO&wO6 zxAhAJvWMsGg4|FpQ}n;Jyo{^`nPKUv6_AIRfXk>0Z4qAi$cS<>)U^v=kx#A%)Khs+ zLd;f5zu=A8tK~csdF#7;N!QVLkpPM0t^Y-oS6F6Y9@QnEc0*PRqjN<j#GOlybrn9fr#}%{%aDCBeCi%%}-Tu!5EsJ$+(tYoC`BuZzdLe!z1WBDN z?=5QZm2}ojc}0!Y2}VJaN{hB=WEGR31aAp%tMZok&i82K8w;9CxiqjD>EJ1510V?c zrxN;zOXg3#fPw|$jvln10baGi1aFfhl=1RSc8WI7XdI8VM_m=w zAXbp)a#cM#H(McYigZ9+fLAGe$Dq7|IbZ%Zg1ir#goDmi9(~=`BsQIXHpH|)>2a>_ z;DLEUwZsGF`_LGN}Tv%tva-{F2=oUd`ElhfOBnt z=#q48mRi@z)G5XH{uqZKzw!mctFZ|g;eA7XPjM7>DPfVhqa&QB2BdD!9?@dQW&cRQ zdY3Lc%Yp&rAn-?$URLmjVK;NF#wa8yz!j_Z*Azysq$g$feZG9@J!OF+`pdl&Z9v)* z6}V3}#;VGIH_<)T$6rfbjbwlpF5Hu0pm=`3;8FF~{Um(5_`{p@&{IxnI*eIUMNTrJP#K(KrIs*;&ajAOaw{(LmlK%)#?ifX^2t z%)r@2(h-tl=DSiv8ZYc#1H~LL&D(K9lrfB8Z~i_I>cdDmr6GnLN4T@W12{X5IGHmv z!>*`EN-{5>oBgzA2k~$7q&gy z(pf4XSel0rtjX23TSWnXQGs9R&a|Hrk;1(L3(1BU0;~0_L_Sedy43K`lj6+z(as(i zCRR<%FC{5&v70uHXfU0yqlOVQsGMG>+w}$8d<@<`1ZINq=p9{Hj8{yD3^A}u?}9n9 zcXJn^N}nHuzKG?xHtpKG5dbA9E=VnQ?zQ&uz=F-qlP&I$B#02o`le@0e^Lk6SF=K5 zgn8nNclj72N14R{dG(@1J~jG_l{eY8ev>IQ(?Lg!Uk~?w8IOnxnP`uyyP-|A6CK{6 zTVCvgCaIH5JDT~Qo7m5eedeLd{|#0l)<~=nW3&^BgDjal3u^vCo}@~MN@H{^9!`m; z2A<;N_dQ=!c<=X!=#?BdZ{H6PcvCUcGS1N~ybqmtd8PmSMocR0e*O;~^?ysgDBSx3&%g#ra~Afaek-~Q#zZJTS}-C0|IcSa)NM|T_k zELiB}WiI3?a<}To%I?_@pUoLaibnln_4niY^d@o|EMcs}DQTHMpJJ8P+_13x;~*V= zayd3cD8Tmf=VvttMM`>Qmgkc#>p0eJ5=ZEKtr>{z?c)V;<~+SF|DU~o{N&L;oOhRY z0}C_q0VW?osnpYkH5R^=7+YMSN3E=kCNB@>ScEiXDK=sB6x>W zGGiX4JAxbelS%j@tsqotZcHZOGV%|GN;}d4TrDV9)AGzRO$2{as~o8?6X<{&n1ZH` z7ZF|;n=lDjU6|bWreleS-f(qOm9Np;JsAe$ALc_PAL^;RW1qodxyo>-XDjhQk@^U^ zu{1=MKw@OvJ>(c^uwxDz(eOs(s8o?VaU^YxNF5mml9LWJc+$8XoZYetVJs*_Q}}Es zlR4O_colCFy}I+9L^6G}Ay3l##X9RdQL@0#4){{GPt9BfFg9)%&6v%Si9yLu3`utb zb#i$NCc?+wLz-zh7dp4w!A#$E-sDOo5)`T2200V-1PP(5K{gsVlUAW#W&_Rp8KAs3 zBDd^Z?a*~y4&lxUJwV0$EUi2e^slb(hBOz3HCANV6XCf{Ks zLhf<0w$3$7ux{1HnQ2)tl7SIwW|8ATSakw7^dr2r(Qe>!qE`9%U8%N}sOOs14uO?& z0|ffKw3T9h5cgp+pO6ECX$S|khh!AMke~msgF@qLym2qr0I8(pS{P&%La_veD^Ff^ zAFMPo8Ck*A%vLYi*aX3Csie~$ZdWth3KQ7{h?v0GNwZVS2^1+xk)N4ih2kE|ax2L? znH1(vi1AA#6$Ox4Hi<&pB8!J2VK{P71jh`lhXTldX^L@QL?QRa5aB*)ys2`K;7BYm zPE%#lXiBrQul4C1Oyh9k0HQ{vZKvC@9O!g3B}QXEjWNZN-DkVwU)jC_$wU4OHqvyM zw8P?1Z1^t1HVIN|f>K{<{g77eKS5V#<;88J8>@|x1Z#FcYb}ExQ=BnBSM}))(eJR1 zok?WieIHBS67mG8HjNNln6E_`G#_HZ8D0h5<>On{6~ew0U!lgd+Xg3J5Q@Gr7G62G zPpr*jDm_zk? z`fK6UnhceR24&>DNcOE$d}!eBdpeU$w2nfA-CSX6wkaOhb@gPIsE$3zowqubt-+El;9uUzcqt~y9hYj;JX zb4BZw-bFthNQ>3GZT>Ub8poHMuQBML?Op0hd~jo&-%2UXl+DZ7#{!jY%SmrkcDmlP zCnVB0OX;n>&lEFqwt1aK8<84;26`DDC&*lNULV3=lk1kTGgQ6?Dq+AQ8W*+)q}w-r zXB*NI1sl=wofPZ*EV|tWM{iSccm!squP6jNkZDQ&_n;E+;MI?QZ;=}vePgulSr+&g zQn3g49|wY2rO&iz(lk(GXVMqHCFd`v;lta;2z(g%cz<3SBsTX~dS7xY0Y730l;e)I z_M6{Z>I6d!o57?N!UT>*j~`lW&OB~Pc;Wl zWUsI@g%tC&25!_f!b6wlIgN}0u#WM7+g?05e3Zd`3!OWI4hMkZ7JLYo-&<#1zGP4N z>5p1)2j%{Lb@lYupL)lB_~HTe>BS&M>4)ohlGn}Bj;;_)kIr?hYs_>U&kTL>7oD`| zG<8_co#BwXlrMR^1=J?URrgWw%^A?*L_bbFspgJ!GE5Up)ED(`I8pj}I)j_Fz;+ua zeDBt72$lhhAbiXYWGyj8$E)G=C}w|GAg62x*H6ekUdAj@9=nQLDf3FPCysum_5MJ9 z=8nbwhpYL&B$TqSu>YT7mv-GzE4-gT-{2hh!I>X$6p**u%RfRX@cX|66v03=$@iZ? zWn-x{6KA^3yp4_I4YBB}@yEKIK-LmHn;)cjsIJ-FX*TT{1;IoS*S zgtQRE$5eoLoRE2&1lfiKsPiy^@2`jWKDeLIy5sS}h+mGD?%(PQlZcD3b>f${X90+S z+dY4R(x2DEwRA#%v!S{lZ|HwgYw$m*b$*DEF%Mn`<{IMqsXvs_Z$(YdFVs-i&m{f3 zaN}H{KyyI#Q$ABh0nl_VK`Q!I+;A?Fw>6d99}?!oS!nm6t?PQ@@oj6Og-8lH7=wco z;K<(BAE3Xd@8@G2yg&58C|C-c|BA$oBsd26YD@299=%o=`ta9l$7@mUZxVcY@rN%A z(U)Gf$O!<+hK*@QJ4*!5lgWh55QX^zj^UTb?NrRJSbZwYj-Ii=rTI*{twJOyp5Z>~ z?qcGEZZXx=foZtN3qC!1S%k}$TAt_)FXqGGnJxWlfgij&ome;ns>qz+OwpWkHu1N7 z>)hZ^A~V}4+)JE0+vpN6pX?~t%CGFsxYTX~%Suwd@hE0|-VDp)eL{Isx&SSFP$c$L zNk|%y<{28;tIsZ%im*fo$>LQnK%pNoUh;BQqBc0K@YCGS>Rjs35^bus&t2!ObQ;?S^wKlP-m6D)CEF$kGS>x3~EjBpSJ}_ zdZMUa3W|0mS4`O=VhL+dc(Ynd++zh9)f$%Wun6A>19mwXa}K>2>jpZK89J)c(&)DJ zP-`pE@8D-(`rByoTGK53@)H$bp3(ghIoJ-@6D z4ga*xoo!UX@W@8s1eCn1OHiE#;X2s8=N}vzs_{Xu^EHhEG171<$X^YEZ-z#MMTrFO zjRTZt#qzLGRYi8xg>DrgY9?8x#o#@heH8qHqFq2dOf;{#unjw&1hw{7`*Nvd)Ukx} zqBaEh2TN{oGrUb{*t#{FRsfYDv5_*Fa(qV4vxL8ajI#)VOQ{QGk9fIUG!8sw@^(?R zo8HY9q;MASF@%{{%=44(8IcHoHy?_RxccXh%PE4JN=-V~_GuTFw>yGC7_~_-#vS0R zfU>gcVQPgJjzhEB0>J96NK~Ph3Cc@O<_END7XVs7dDx1wAJYpBHO_zs(0R+ z)9jaL=ApTS9`#7Zr|jgi_)RzWFA$1EaN89L?4@<0Sq!ozn55i2;gnJ%03P4s>37yX z`D*!^XrZ_U6_95q{9g1{!pTAyj3bHPKSU+uFX~i89Kr(c1C8Il^*C&_t8_*Uv~r1< z@9E7>HtTUzgOi-Fh@5D#pH#7$19J_CW7ZY?`-&l+86>>;r;a=J0c=U15X(lz(L@!K zK)o`b(bmITW1Nnt5y0_y`j#`Ontv`NA&(g>3 zvC>Vx75rsB_*;NRi43tTG&I6!p2qPNy(#OB_vR$j zcdx!UB1myoX0b+I?^|GF8p5lhl&EGjj7a25%*{GUad->jY%wi~wx@L18@Ygwb}=NS z=fLLc1$+&K?-UY;h;CKs;_H^3H6=!|z4}20EE~<)@Z8qG4)XCkRz@bnViRm-R!+wD zsxbCkZ$c$=j++A#eDXXnp%t{5g(@WyejrB;eVH+>OS`UYUG+)qvU@)EAg2cyb<0o> zsB-5R{}12(iIB{4OGT{Aff=E?ixjGQp>fp~m`=B}l&P;L6(8UhpNH5)#o=TZ2}A1- zC>(2ZU>Mun7BwdprBBNGa@;&qWwAZr%{}RY!COT4zQ>&NU<-G{J}N)Y>@Ca;JAbT! zRh#=$@7I^QYou9``C4B9cqby48lDdHjtvk>GV|C?lCF;)9)7H&0M$j|$D#(|)1O$% z123}SP-eVC2m+N3 zh<&=>3G&CD6j3(c3-kp`&tVRv5w?(5lH|mMzd0Wz_2L7ARBI*6yz?;riM=n9BEwB~ z6XBZYlmrVgqbv%-hLO=OvGJ5hrYciIGa&DZ^#pT11H>;xcT{Csz1kiAm6+jjW<;O638 zUg0aoMG47jJJ3Qrck9TgD@;98qMH01BYid+{@B%hs}t{4m-(Q-t8P!X0kDi1R$tO0 zwKuQD=4J=IgON~XEY8S@+3@%E=esm5f#h6=D=!iw#y77+(U92iS40!ygzab{TTq#8 zY%HyRi2VIkU^e3fYS9Yv#1$$ptxng}*-vZvh1v&}-adkP>AAn}czd*^zai>O-R?Qk zK1_~IZ{r`l{*`;oLh!#2s>79K3v3Nr!LHDjo!KKaz1Y5&Fu%A-sfhi1=EQto#;}v! zCotLBVf^6wJDa1QPU{^9Hb%*s0}}Oszr1%_uxD+9NTb)sS|nQDCZkVaJgn$Y!UU86 ziX(aIB zF7)TM>nKQqAJb7t9%^*14WnJ6af2a-z_&(5=GgZfV_AM@Ch}BO%^t{|(qaa4S5pNQN+~RTJ z-0;52L|nWoAz-BBSsyIU;Ixn15lRk2Q5nPE{1li~CKg}Tw|xmrJ?cfHa^@gab1o)u zI2mDo=Dc~(bVK*R=$hH8wnrWsGf1MjS3-XcY!lbPRE#f8mYgt zU0I~Ao$YPBLS>3POJUhz%=*=1X9Plo&czlq&{p9hM>xzy^v=jUrL^|HKOb|)XS z`@eMT_pI=F-6Keh3w)9TajciZ-JfsPiEC=mzb2i3{Q^QBGq-|hFs>3T1)Am50NMCp2Kk&J?uR9+mC+ua@1dk`d$-stl(R{gNU!6^KWJWma0?dXLTPyjTD85Tfk)WQu}S9q`- z3rKY^0Ro7FvC*_5lc} z!2&rU% z{V|^JlcYr!cbIubwPCZOP-3bQ)Z#e1-J<+v*c<3J0C4MwD9ztZCmg8Yo$dy$}@C;=O%ZPg)EX z+nIvpDJJ66;AoUouFe7Jth>5i6N-5XbfwGbzxCbGYZIc^dQ@ZKI z7P{D^;%ezOOK5Fs9zDR@JX8~`P;iI2E>+KiE#z0>QZx?YbUvn6W_34-^%28EH~Dm2 zI-H+X5{iQ^k*nF4_VM#xawr}v-2hnSv2 z?0BqOigfsm8NE0Y8%-}VnY8>EW~{L~;MYeX)jo(tnhUI0;zeFCgHhMhy-HPnq&j1C>}0evVqd>6UReR352x3A z7C8NH9x_jR10u{8d7N)c4jz5MNVv#b+dQ$t@g z{56@!^-04T<2?47HlNijJ{Yg3WXD!5`hd$u&Y3E@SwznY2=T0rpkMr21Cot1O`&Ji z9++B^P+p2)TSXDw=2~b2>{P7B8bh7yEr(Or??h})8x(P z3n-&hTfEv4vr+Da=Vu>^qI*S5N9>As(`-@eS~(`TXs`>K_Y5#5q**}7!kEphb%Emi zt@Df1=*{;FFycwJdG!B^cg@p1**3A(2^n6GvdgfjQ;kZ{Mkm`m!fo2N`jiG37qDX5 zn|6pd=2lVK+!2`uG(l+mYlqh#9lbhtaqhK(I#4nE~Mi31Ml6y}M87%cxr_s^z4R!H|(Zqsk z5iK|$97xGblV1nCNI+L6fzLFZ{YH-ljxqNX;$3y4@>KX$hAEDOQNC2PVi*o~hU#iV zZka9z*^evZ5SKwru2=?cg?%U}JfZ8f;nibd2oXU8>`+imR#io&E4^cy{J5~h3E@@( zyhl4FHSvXNc8yL2U|ZE+->)u;S;^ktjK}v6QmJFOnpYiEvYOKZAUl`>!Gg&jtctfRB5tB`rL4z$JbD+ZwF{8J%0^&>7 zs{jW=gWY;P@E$tJq7KG#9lZ;abR9H<+23VGi*_!MPS6ta%NTD;T;#{D*BCQ@H3tu@ zqWM!U0Gblz%3CJK6uLFsZsjowDoS0GU9m}{l)M&AN`>8LQ#&cTXT@99}HrcFNa zAxBlloC$|V#{cF%dsnpj^v^*OJ@F!XG$&SeJ-VaCyJQ5Fm1JuCmV!EyyQ#ZjE{zMf zw}f8}Ipl|219Ih>IjG!!W6wO}-tk|O1|U^jFihRw2C=A+GYLb>)#F^@$>ua6 zAXjP`@SEaesNN<^iorrhJ{t>Y^C-L zbX=Oi()5rLZ!KKkVQ31Dpx0n_%W+$j9?88Ipk5b=K%6)$Q7e|wE_361FGg&_1|UJQ zDuwZ6AhCwhlWF#R)AmtJ+N61fnoY8+pU?l0pjK|L1Syq)rpHW%k~$^E3fZfA*vT*0 zqElAARWGJSWzfnQlz|gIrzh3WpU&y6N44j1U zRq%`U26dOc*XLgkc(J#U2F^K(ckWa$oa9DO>@cj6@BbRCNUJ>agj!!34HhdcvCH=UD0qXPXUK0YPtKqf^ykBt# z!Y*Vrc7Bu4!&Nw%=!`?iVxR)W97#)udT>QYgSP(PF}2ylFg6MHALPrU%KTBSXz6&$ zDK5;+TQk}}tfNTchCEO?JBAcaTm9gBn=R(t%E=wV8)9R4vCG8eeA|QO=h9)k>oi4v zXUn|49dlZAgG%b9VTZVvJ)C~kplA8l)N3jJYh{mq%6Y8~c*uCEONwJ*ktBjA*F&tf z{7cr+)&zHLkWUv+DN;IRL8$KG%b`jsUH)S?q<31%cy&BcW$1Q(V z%_Wux9VNAu)ol;YwmuWQgoEuiVNr*pzbn&6hrsUV!7;Gb`#xN-A8?!F$eR7yXTgS_+aXz(1L0? z+aH=?>ap(a@sWNQ*#qZKFH7Gtod|?D$=JbjNa6aQ>K-@i;70|36S|@oFVR-C3mws` zrjXtu;&a%QUec5IO89op&8^Q-_Cap8iLvuMunHD-fV7(W6mENO#v90OO02f`rJN;c zkqE!uB$hm@{-JIx>^aE8)x6t!O`EM@K~;*lA_?G`q-NXgJKkg;;K$DMmoA!nHnOJM6})j&H)_Qv!Jum!*8#l$q$6am$C6;QOaG--tw!@#ZB zw1OPN;VK@dIKYL?jp5Cvx^g&`V(`+7X{qFvr-ex|;H?C-|48%_e+=i}31|j8(_k8F z!=maNi;S=V!R@kG!p8j{#>xo46gfj|2|rViyf^n;?qF0!i2?>|CYe4=LCk@I6dR3c z8|=!KuaqDzH7HF<$iO@k<<`eh0C=3uTfhX^PT`lb5jsI&8Fk|7NDfcV8e5-fVApv?bLK776%v&uLr zY{l?`o zOpr7|%|BFY(Kb$$U})D|Lt>W)I!{!8#(JZXl?gkJy&<|of&{~ZYH8iv2t}K`S=Wgr zoyuqaBijK0~5B(UiUIfU2)RKdlPk`IXb5UIM_)XM8z@SmN^j#Qrbes<*2S+ zz3TS|c#mbTLX2zo$xpk+7~kw!@i5>|JqzMxg(Cz_8nJe%hRdsWAEX8r2k+5%qBLtv zlD@#InJ}C0uyPF8g(6a?f?>~E#Q&AxFX?XsYf0$B6q19%yg7J!#9I**Q?n$J8W^Q9 z&48ZY25Up-{e?OhCoFmt$s0BAg`h5Spe;rrCCm7NQIA2|K;wyS$g2Cwaep~>bQ$76 z&}hP6LNkgDo(XK7D0-*}vmH{wQMIIH(kt&9$Ek=*-pHHBmwHCNip6YdE@MRgBt(1c zra?YiS!UK5sL^1mcJFU)zy`nCT`d z!yjX5KP-*MVJo4`&txlW2-Wg{y~C_z*jzNj+-Yw*F!n6z?r!=iZzQZPZu_8P`>Iks zLpf7PpE1T4MM43Tmqb2E`@-CU1AeKdffkb~orq$qlJa3=?&~Fa-UmLJ#(Z9)GJ!SO zHH{8u@M93 z+y#zco8{oKf9QI-H_KT)!w|2-tJ4yWo(`jU zl`4XB5_J?E7&B{fdMzXJ@Q5KE-B}USilhzH*ZF>%+H3lEuP&K50Y|Kfr_zVEoAvuqbWu&#fUsFB?lp$JtGNw_eCYLTk7vU znb>;Xn^ZPoM4rr+wL+ZJIP@C~HsRjkY1PjU9dRWoKSEbYQTitZ<~e z(x@LnsKwN}?YofrrONFBqLc?w!TggWBFoLX@yO9-cq((`!O}m~OeS#Ty%kNZj&f(Y z6>M=XF)D%Dor??!Zg?!R^l$JJIP~b<*0YDxG=F;&uSxRE{XT1szyB6m271RK#rk-} zwqrQ{1bC*MeE5!a;|B%x8a&BoYFjgj{dJN=qDIe5Pk6?0qk8CRgl;$u?9=#a*%1XE zmb>2Z``fH|FyLd5HZQ7W_Wm38yZx%gpoc&m=}OHW-5OT=a^6b%Wm>huCw-2ov*OB! zo()E5qTGe?^)8PoAyh24NdPW<@Zwc z5H4Zo@j@Mz!QLlYRjF{&G)eqQF@cw1X)_sR<2qYMVnMUdlImWTSo#v z@j`Eeb3^dlOPNJOA*Ih%yN}{AabCu7)Lv9J*4%=M*C@wIg$J$~d_4TrPz4s_z@GyG zXwPS|UN?MJ*G?2nn~Y+2#u46i-#nKqrwNR{?+G5|gM?ewItwfCpHSj^xUbH8-#zSi&h2kePqd8} zyL~?}y70P;V7~aIFW+C@Ki>`P+aE7|zCZjl9*AEbPFO~ldq0rAKZJjDQ?~y@>-XRC z+POIXKgQlENR(jR)@|FiZELn|+qT_3+qOB|wr$(CZCkhR*$+3?J^Nw3R8&M|Wkfw> z<;Wl7WB3p0r=?{@!w%!KqsKTC%si4{vKFE!?npO7>;LVyoof%p^YtU|v7CJurIwXG zl`S)G4P;=XwY*gSICM5QyjQ_||5aV%0}J9Egdy}Ykvgyg4sfl}&FyM#V|NtEC2YoJ zHToFE=B(%Y=krtNCAG4dXEceCeYQrP~aySelVc(*+7N+Ht4Rx3gwW2M%b*$fh}uJNS&$~q`EJ>Vg3sl#*j1O z8QpypI@FE|>wSq0eaSKYv++lICG-X_@qHkRs2=M)3zy@Mgy_~m>cER5W)Ob+2p@bN zyLDiT>N4;5`dCmGKAD%?aF95MEP)9WTog*but5kUgSWlDb|#s1ajt&Vo&^w}3Eni* zKZu1vh4R=~YA(VMWUllMf2;q#~qX!UxpfI0IdvzQDVT^J}cIj3;9Few<5y<=WfM`^7 z>F&bN$v|mm<+GDqj^2jY?)8ZKAORL_kDLfRStN0gp6XD#rFig{Z9s`uIYl0nW0Iv| zFeRPYx{oaZM!RHZh&h|pakB`FIh7IrYgW4;Zo(yh6Kr;jtOlDZv5-+Y`^s@`_-xeJ zmdT~KWt-B$FsdsoyD?Trwk#4QN)^(z-8iEYVwISq?J1_YI!~80C4|>Z`~YM?i*a}W z4Z>K$klqOlw1}i*sy>&9j|98uWVpT$mxQ@Y-h@XK6~&W!^a;lBCIP-9{UH){7lGCU zAlP4*Mw81oUQIMRRk~O8Ye49yp*+cCcwuffVXzgCj$DOSF9L=zd2(6#fevja+49_V z0?tb1qVUV*+xl*x3|F*#dlO)q`niIqmn@ zc`U5U>By6~6&tf=P-Z8{MpI-h4iN(`k>=a8Pf8k>Y{`~Scf2wAdXLGiN=mthiC0=O z`&?!1E%N5gSX%}|a=iQRs@R4)K|t2``;2Iv!7e zj&4P!aUoj9k0l2q55F*ryuu4YR4Jv1NIX^&kSN3HA>{~LseQ_FEMZl$QA^}?)klGJ zhL^vTOb<)VO}0aUN$WMasCGq6TFEA7w*;?k^=*I~OMBqE4SzmM&HanOkehya5)(&Q z9!x)gBBfUb*YJkNlAth5o`r3`xd@sb0SHF;3XPL2uZEU< zf%X;Za^~qolA253nIVD|!1(VhENwG-=)9z?uOd8;S%~v2J#<}su;Zoxsfr&rl|_L^ z$-4HK-gtnAhYjOWqw12i;QywSDZPjUCYCY;Kp`x>1~k51T{RD)XQQV4O($z3^k65k zRM&sh{ci9CZ5ttnb$In*_oN~%m<_R;~{M|^P(l} zMsp*F0Jpy(fsj~#!XFK%`g53TuqOY_3Cj5O*W08_3(sBP_dnhPzt}rg@RE<>$=F*) z<@C_guM6|DsFZk2LZwfug*;?(f%dsWTp%a;k>Y*=2(jwNe8rjVH-~@pq4!xxK=Hrq z{QspfJrg76e^$t8YejCcA^e{TxnK$`i^BL^6j%1tla%0ZKi&VSUO#;$(rRXHI&zY& zH|PotYDi&y!Suc#{Z;Qq9#3HAgF}Hv!Bmz_cNfq)H8g>SVmR#pMlYgvh1n_ zs@toxUT+8Y7w}U%UM(uULYf&d*NAk6Y$OR(Sg!Kel$Q#XrmBpfWdCYWM_AttB``=FF?&MVdO_rrUW+v z8GNfQRgK}Fp!8Oa0iA2_fLx8Mi+i&z1(FZk$EPa^H`y1mX7TkaC~=QAYdjk7?WjPu*T#!8zcVs zmbgTwr36)XFln%+>4q-jm%IEOW6Z8l&{i(0Hj|Le|4>Zrjl`M z=Z>v^ozaxrYuH2?UkQ0oGyJKj;0UvmK(`ZfL4^%^Nyr~$<3~+EWp;T?SpkAD9mStu zT%6N5jYjdCIqzgcp5vf|)`+$nJSQa&jIhE&ocJcrli;@*BWYZR>yP{{Xf6@Zm8P8k zkqdVS31DsZO;k+;$Sl*-hUj;;tocc;Mf#Zwvc>Jfa6}DDvq>i-s#A$61Hefg6P48g z1Q1_bm5)|O|MgR5s=hOqlG?BgK;cf9BZaH~jZ(c**rS;wf60vbtveP``OT4*F+$K{ z!ZQZaSa>gY*1mDiR(MPflJ;Lw;2fkRGM&@Vn<%z9WEIuB2!Uys?i*Sxv>wK*2_*_m zyjwz8Y%yqS=TnQJ-UD$+B%e!Vc=M*nAh{T*H5Rf=FsT8&OU0g)Ari!z$60q&2+x>u zljKz%Cq%kEx^H2Pxnk5Rc^8LC3A!LAB+5GfQ)W7Pe@qfL2>JvJRsU1&p|&!K4HUP&~Ce>3lA4uO8Z)C1h!akbo+1izL2K%T@oQ`TW~@#C~Ng) zu$%mur|xEws10%~#F4J_*zICOKRK`@R4^z8dH7rGql;EO5Bn|BdIDV^uB#=C#wE_F)VuHm_A!&to>3=o*=X^! z{`{_RjWfh(OeR==uBqF%(N^>RC=`vew&>H7&P14VNp;bq{LlEwdBd`5oT>O$cO4c; z+DPx(H1|gOitvY&g&CLAyqs6x}5$3s&8lzRYi{3gv-u4GO}9*&eyFeY zQ1?D)%SfLoH8A9N8vDe&_6y=TmNk3Q9X~7T_+boDb0d<|ZoXjDqt$(*5~CVI&RrVj zu@|jlv#H0}GXZ_hwEv@4$Ae%{;G@eafreqmaB5rT1$A(;QJatolk-jtmCL>$x) zD8UFy4tf&vj-@WKY=m7+GgH)!p?wxeyB1MV-9`p(f+z7n`q~Pn=1HdFo=ev&sSJ4h z_ZhSsF(!(rm@m(CzTtBzUg3_0QWAI`aP~zO!`-tqix5u=7uRP5x%#FM5Wb1Id3sPa ztiz=_RcO!b`xAU=_R#eI);3K4CGLTlh5bLZjgD62Q7fX)jo#i#ucu27KZLZK+>Mi< zkPm;o281<1#t%H@$7r+lg;j-@7u}YVseXD>44q1Ohh&lJFW$ofYE*7O%&6} z{QK@>!8fPSxvGFqmsRpYbpd~Y!bGGX7_mx;i^ccz{qg0uH!n}`LRB#lp&Z}sy~jE! zr;>55MWM_VXwBL8=UK|>eFVRU=j$`l+~;FQX=R6c4g{E}HK*235tKUv9<65c>J+FJ$5Y+ogHxFT3rG zWBr-LkmX$G&o6kwFd?;v<#$OjRb67txm3P>&xBxAUSbPwJd|c*1zlr1OTn<- z?%^>|aKS_{unw{)k|!FemMU82an4P_7_WHBH!NLa^UzscCAD<`4#N3WA7@^UFr0!!nVVkN zWG#zA>o%i%5&u%U&i0B}NOF{@RTs}zHBZ1xVx4xF?TW{%!zLSmZLW&XfK zcj+DFm>=NjXC-M##ZRuhoQA+Oe+iK0L^UnH&Ua!e0t`CKE(^dVI}k z5EwI~Kr6@Ia7OW=ECap*>?~0Dx9Wtzmq%}?I-unI83LLp_oaCq^X}N{tmWoe!N7{m z*=Fv~sA#Qr0ox7%QO!LIy0Yp5kno*ih|CrwrJzUu>KMi1gKeWT-JY9w_xDzif>IFd zmJ>whjujn3L7W!GL~zh~UgkbMOak-rf!ef`h1zBCE0xFOl*4p3mcusmRggUSD4X^N zoUhYOPbP877T{P++}f~qAGqkNmyK(cE6RG=h2#2HASbq=Anqsz7ETLDb0n4EIUKq5 z;k}&oZ!K;O#R>g5Z1$0^+ns~M^GJ(bvLVCFl=YQ^X6Oy#XHs)j0=9Uwl5){7fokI( zgf&vlm9enGHU$>UW=Ea`4btsjUU6F9D$Z4Cs1wBoo=}uE(C6dzBh~o9yaC~7Lv0@<;WK!4hcE6tWvtoK(D4xZ8%}I$znxuNpLPAs=(Y zy63_sYA@4>7McP{BnZcC$DgK)gnFTKCVd6hANn=%#;E? zGn4`f*s}apLFjmp*VV9dU$0o8J410(u0k}Wd#Xls^QzFO#1ub2dOOIGGBE2w$8IG^ zuu)QWIxp-Yr_fdpGe1p(nmwS}yX=5G<_;*pUnkZh&VGQ5=?S39eD}ssysO)n_8A#_ zbf8;;lXDF)%3kf|d+C{B0rk?Ij-kqvF??7nf92(tG;I^T2U*UT ztr7H8@~L5j&OAy7J-FdC?OTNm2vymlodWuXG*6i|ILDFco(POxe#X;4-}RHk`v>Z( zKc)GDH|?N5i!X*tz*h&Gj~jxkO$U{-RTk@=y_UIw@uz<#l_4WFQSSyO37K|>EhDvg z9@EvSYR#p1PuoOTXS^!Y;H3h?Qjc2MHzLZ#W1LdecOp>9T#{!0uSo%QDPf+#hk~l) zZ!+yrgGOwa{d#BbGvF=db5$s~L|Fb+ak8Cj3CNblviBeKy1cbw>zT!1@V*_pWU(g( zl9|O+#&FoHSz(5A)B3uA&mSO?G^oG-Zr1K>D)1*h-7YZZLWcB*QGz=rE0*YF@I)#X z*j6Eehgkv+To|;x#d4Ynw&6H7cCAdGuRy;=_wwQh{KLJ$Ev+ev;yInQc`yBkVRsI> zZbKM0yZt{pKGcZNDjkI?p7Nr~tnddX%||-qccUMeIcsvkrpH;c_3XCd#Z~uC=%y(N zB=B4C)2dhF)vcNFPa2nncc`OVq(EIR;HV7LNef)5jkS-;?N-rk#W!0;b-y$kb+H%9 zVrNg49337b-4h8PUtHL|l8ktl3H*W=`YtTaJjLya#&Gh}#pPhbgXlO+n1aq5P4Zz? zT}{-7L&77P(B7_!T3AAtWW&>r7^|LJVGhW5)Rbkx;?ud8=r2l7Z*i^yy!4Qycyl{Au3u~tDsmEd*; z?G6hCH`Z-SA`6=$a>K(a%w<`x!tP;Q! zIZnSOYboV6d*uY_fzQdJTp15to(YCn;9AroKods9jCFxIn@Cn~*8|G(QjthBix3{e zK`LwEdue-kl2?K&-Ik>&Nip}@jM)l%v0X5(ruYBFRr&2G7iQ(6+-J(rhUf=!{PS3am!Llx$8!bJ2F_%(fL=S+x(8bsNAJrRO!yY525Lf})ngs)nqS~9CU`TkAO&F>o*z<2DCvHxWS?wZ~w1!MD-Q`1jkN^%_FYp^+R&- zq(U(t;Z@s)AYl@Nl+i|vAO%^Uy?k+kV}5+YBK zG@h5tEj|jGZZWP9fM-`eZtF>k38;x}SS=mg+>z!zelJwwox?6&#`e>Dzhgz-d)dZg zG^9O;Hs`Dv*)RSuJK0esHY#tyY!tT0s)D-Zio>TLs*DW7EC{eJ46{70BTAuv*+xaQ zgbj7Neyw053^&nM$XEfjrW8`e2k1Hr5o0Ibe z_X#4=lS68dfZCW$Pk+LILdg2yiW4ZKr+mgVs1`G#ro5axIGsf#8)2DV1xc$CnwUYD zQ<0cKv{R@hFR$54DBCC8Ktu0kuLtM42gi*528~kVEsjaWTqxgA7U`IE3=LHn-7LNE z9NOGn7PBZ%l_un#nrZjcxWQ7fA4I6a5= z;2Jp;SRO*P%FS%%vGljsm-gl5Q88vgju9B++~XninYSVYS%_D;!}ZztsrPaRJr5HB z#BQ>HaApIu7G_)qa}r@e$xQ2^4%2C^3P6IkJSze%RpAURxMh{tQ7+0;;#Q$l*+Um^ z7z|t#&X3L1AGecz!Xp#trb$_2n@w~bt=9QJ8>L69dlQ7pi29%a=O_AR%kODT_4%1n zy4~FUyEkgl_-z6ju{|N3G{6f6-w##b$^393h~JH_^Pue;2sr;V+7t5>Y*{y4qGV_} zJO3Qxc5syhvpo}&p$@hT6I1zt+y0b#hQq6yqzdMmZ4Hcg2ww{ zf8h{Vv|4?8LRmE#Y`BSVGm9M}y%2J(F<8eqI)8?cFco7WvU8V$P|?|Lnof5h!8+Sm zMb%MP$&IQyx3#Q78e3i{^d_c*0x|KAOvzpCd#{V<;$YWO`xmlY)DAAFb~vZdr%^)) zW^qYMC3qis@StbgCSMoET(jS>!@fz!>fXl{`llR0K>H3KiT`EERXKZK?tAH6ipHwv zjy~a`hHFJZ;tomgiM8R6x6q!g~fU7TFmq@Y_hVt=p`N4NVd? z_i^AUp1(Y#a){a6(CW|pH35r@$k39DOUMUmusz5MpGL{Bfvm={M)#rY&I)S{8fY#W z-GO#Z_g^t`s@;xaWu>9$cVk@;QLeminoioz6iSQ92@TDWj1hiOe|_=oJOe%cFK4^|mQ%vQ_J46o4x8b+b4qSq{M(U4z5v0&N1NAl zTOek^PiKHYJ^dEC`Q*om*Xm7{>&fq=u}D{ks#%dlBHqQvJ`?bg@VmJLcJyA>d~wIO zrEYXy9`I9t^a@$J^5~&)DVC_;`{DQ_Wg$_z0FT=Fe7im$RbKes8_!8uApr+k7k=s$ zx|da{SF9QZ{4V=nVt3qDe18ko?x$YzKkipZA6p2xSain;_F5v*vz$x4OR}zUjNz*k z2ZX8`LSqi$;D?^_Fph=utA7X-2pE0frU-bvXm}Tye9f)j3vouUgX0o(c!y?N+}SR; zAhWZRQ(9e}>t&(IrD!{ms5Ln>%=gAIL%V~~8mbd_X=yuy9Q{Yf%F)bUHx*go)#+w$ z$J#7c#GF_|x+lyYeuu~`^{Ud&-nI!sgB}6F=4hKUa%)a3<1$*Kk4hN1S;sz zn?uiYqsy81=jhVycopwCzaTB*5d;h)#H46JFLix7yu~6&ez*L6`yvvlq4l%_a_{_{ z4@MKG4Zy;I9eQYdxl1^)bEAuQwbkY!HggxKL>w8jEobVH00qY!Z z=~7$NpIY>*>*IQy-doLmn$7)-9YQ2z1GTavna>&~_zS0^wa7!uJSa$=@x_H;noFOzDstF~OM5quUd#b!Yk~v+)$`1pLzF$Vt_WNVL=4h#BVX6 zJ{$_v#+jqa86X=K^sFt&TGhv#zn_`MD$PcK`m$Nc%0Yzx6gGWM21+u$x29wpmzKoY zm>t8<{hI{XaAAhf5n}k?cXvQR=#;U&zR=swyv5W#t`S5kyR2ns@QH|wMx?2(L4}6|AKX+V1m&Ci+LOm-FN2rk! zpek4n@!@ilCGD5ibLsuFSE)lg6^Z7yjTPPev2u2h(bW9$X(IFv{3!E|%e-yPNHj&e zWrbiY6iSgzE>(%^0t} zr{z`VeyXPB8>A`aehg4`Q$;hU@t{E~rtzrz>oBNHtFgmDuBOt&qrz%{HIMRN^hhp; zvpYmRwmn?+RPe=(zG+9!nCI)*IqTKP)M{SuPYw%twA*TAUzTKlsQeOYG-9u2o1%WS zwicKhz0K#`%7>C zB1{H;j_mXROT6vAn;ArJyW5ucywlsTLgzK$)3{&!cQ_-+HRpT#X2GN3#w}-Sh^nB< zi(+gD6+(~g)`gxKMFnCbf(9u?e!5jr$2?jVQ;I2BP*X5d8nm{fj}exb0fi^K70)%@ zwajWMu?5=3++a~Y>nt;%6q%$1MHH5G!a_Zns#G50gxN{3T$yniz_hzWSQD^>)F!jc zAb_q&813(_(|XCc-)*qRxQ58ihUzj#1nx@2l*C%vg6%VyJ#}$JIQ?TxXQ^}^>lHY` z%uK`?!!>w8ylBQEcEu$>^=(_x@OoC>DkpM3BtCmV(jutpv=T+(N!o;3ekWa2l!F}Ip++orX(d)YLifE1L+LrF4S z4niYMTiH&Y>c2A!@llS`O~y7B@ZEcyLquhn+8xI*{Z+I;czd-+ZcPr} z%4UuYu5KL=GcdA|`Vm1&!BdwZmfSK8a^UdaGzsf%-X|Z{wBAY610@QhW8awehm<7c zBeG!`9MI95Hk;6tHCks4VY-lL$8TS^c)Ordx+cGFoMLH_SvW_Fu26(}ZmviTSEZ1v zd49+^!{WPY7FaFjIuuypK>e%1*vF!I)4wy2ie3$0=}N{dQ=NuDD~QTfkN`GIuAg z25U3lx8yHZ)0!teWM0VSI3A)*f`PwvpukM82dBW)xLGMM_QU;U3cjFOG%%7bRbjA3 zI#gjim5$x0zqB1$HYzm1ETx(tVVC2Z3=Nl7TswCg8f7YA(9BPZA(@T4!4}~$<2xUH zO~e>30(*hg436wE8;|4dGJ~}D?b*jSGC-NvO5dQ-X|{5p=66et6*q{t-9hDI38J#F zOP2?i6X%^f6ZHoUmTOT$>1sHTiS!k%7DIk|Jv((_iS2dSqg=mt5OYU}ikK@0J+J2( z7XJNi9UJjzQCFc_r2vn1tc9lD&`Qvx=M?7TH%|%_<@~)&E&ZRn)tKUF$5{&SUq-9X zcwgWr9t3{%7j|7PA~arv`mE2!fDzg5Q`1c}|11Q^h*Gx`BnaQ^%MK%|$oc;w_5Mpz z3Nr)qfA*#5Y}n$oA$qTq};KD3Ty z *v8^E@$8Q0NOa?#XVkt^TO@QuEe7~P3&h96E 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 literal 0 HcmV?d00001 diff --git a/csd-datetime-explicit.xml b/csd-datetime-explicit.xml new file mode 100644 index 0000000..334b7aa --- /dev/null +++ b/csd-datetime-explicit.xml @@ -0,0 +1,1751 @@ + + + + Date and time — Explicit representation + CC/FDS 18011:2018 + 18011 + + 2018-09-10T00:00:00Z + + + + + CalConnect + + + + + + CalConnect + + + en + + final-draft + + 2018 + + + CalConnect + + + + + VCARD, CALENDAR + + + 1 + 2018-09-10T00:00:00Z + +Foreword

The Calendaring and Scheduling Consortium ("CalConnect") is global non-profit +organization with the aim to facilitate interoperability of technologies across +user-centric systems and applications.

+

CalConnect works closely with liaison partners including international +organizations such as ISO, OASIS and M3AAWG.

+

The procedures used to develop this document and those intended for its further +maintenance are described in the CalConnect Directives.

+

In particular the different approval criteria needed for the different types of +CalConnect documents should be noted. This document was drafted in accordance with the +editorial rules of the CalConnect Directives.

+

Attention is drawn to the possibility that some of the elements of this +document may be the subject of patent rights. CalConnect shall not be held responsible +for identifying any or all such patent rights. Details of any patent rights +identified during the development of the document will be in the Introduction +and/or on the CalConnect list of patent declarations received (see +www.calconnect.com/patents).

+

Any trade name used in this document is information given for the convenience +of users and does not constitute an endorsement.

+

This document was prepared by Technical Committee VCARD, CALENDAR.

Introduction

has been the international standard for date and time representations +and is applied widely, including in the and standards.

+

However, the representations provided in require +fixed-length digits for time scale components, such as the +4-digit year, does not accept negative values, and does not +allow omission of a time scale component that has a zero value.

+

This document extends the "duration" representation +defined in to fulfill the need of a flexible-length +representation, called the "explicit form".

+ +Scope

The purpose of this document is to provide:

+
    +
  • +

    a standard, declarative representation of date and time and time +scale components called the "explicit form";

    +
  • +
  • +

    a grouped time scale unit mechanism for grouping of date and time; +and

    +
  • +
  • +

    new duration representations and mechanics for the calculation of +date time formulas involving duration.

    +
  • +
+

This document only supports date elements from the Gregorian calendar and +times from the 24-hour clock.

+

Date and time format representations described in this document +utilizes numbers, alphabets and symbols defined in . +These representations are meant to be both human recognizable and +machine readable. Character encoding of the representations is +not covered in this document.

+ +Terms and definitionsTerms and definitions + explicit form +

date and time representation that uses designator symbols to delimit time scale components

+
+ + designator symbols +

characters used to denote units of a time scale component

+
+ + date time formula +

expression that specifies modification of a date and time expression (3.1.3.1) with a duration (3.1.1.8)

+
+ + durational unit +

time scale component (3.1.3.3) that compose the duration (3.1.1.8) date and time representation (3.1.3.2)

+
+ + grouped time scale unit +

time scale unit (3.1.1.7) composed of a duration (3.1.1.8) expressed by one or more durational units ()

+
+ + General +

Representations specified in this document make use of symbols given in and the following.

+
+ + Time scale component symbols +
+
c(feat)
+
+

the left side of representation statement where "c" is a time scale component (e.g. "year") and "feat" is a feature, for example, "m" for a time scale component that accepts negative values

+
+
yearE
+
+

time scale component calendar year in explicit form

+
+
monthE
+
+

time scale component calendar month in explicit form

+
+
weekE
+
+

time scale component calendar week of year in explicit form

+
+
dayE
+
+

time scale component calendar day of month in explicit form

+
+
daykE
+
+

time scale component calendar day of week in explicit form

+
+
dayoE
+
+

time scale component calendar day of year in explicit form

+
+
hourE
+
+

time scale component clock hour in explicit form

+
+
minE
+
+

time scale component clock minute in explicit form

+
+
secE
+
+

time scale component clock second in explicit form

+
+
decE
+
+

time scale component decade in explicit form

+
+
centE
+
+

time scale component century in explicit form

+
+
+
+ + Composite component symbols +
+
dateE
+
+

the composite time scale components for the complete representation of a date as determined in

+
+
timeE
+
+

the composite time scale components for the complete representation of a time of day as determined in

+
+
shiftE
+
+

the composite time scale component for time shift in basic form with hours and minutes, as determined in

+
+
durationE
+
+

the composite time scale units for the representation of a duration as determined in

+
+
+
+Symbols used in place of digits or signs

These symbols are used to represent characters in the date and time representations. They are used in representations only, and are replaced by one or more characters, as described, in expressions:

+
+
!
+
+

indicates that the token following this symbol is optional (may be omitted)

+
+
n
+
+

a positive integer or value, may be left absent to signify an unbounded value

+
+
i
+
+

a positive integer

+
+
negi
+
+

a positive or negative integer; equivalent to [!]["-"][i]

+
+
+Designator symbols

These symbols are used to represent designators in the date and time expressions:

+
+
"-"
+
+

a minus sign represented by the character "`-"` to indicate a negative value

+
+
"K"
+
+

the calendar day of week designator, represented by the character "K", preceding a data element which represents the ordinal number of a calendar day within a calendar week

+
+
"J"
+
+

the decade designator, represented by the character "J", preceding a data element which represents the number of decades

+
+
"Y"
+
+

the year designator, represented by the character "Y", preceding a data element which represents the number of years

+
+
"M"
+
+

the month or minute designator, represented by the character "M", preceding a data element which represents the number of months or minutes

+
+
"W"
+
+

the week designator, represented by the character "W", preceding a data element which represents the ordinal number of a calendar week within the calendar year

+
+
"O"
+
+

the calendar day of year designator, represented by the character "O", preceding a data element which represents the ordinal number of a calendar day within a calendar year

+
+
"D"
+
+

the day of month designator, represented by the character "D", preceding a data element which represents the number of days in a month

+
+
"H"
+
+

the hour designator, represented by the character "H", preceding a data element which represents the number of hours

+
+
"S"
+
+

the second designator, represented by the character "S", preceding a data element which represents the number of seconds

+
+
"T"
+
+

the time designator, represented by character "T", indicates:

+
    +
  • +

    the start of the representation of local time of day to designate local time of day expressions as such,

    +
  • +
  • +

    the start of the representation of the time of day in date and time of day expressions,

    +
  • +
  • +

    the start of the representation of the number of hours, minutes or seconds in expressions of duration

    +
  • +
+
+
"P"
+
+

the duration designator, represented by the character "P", preceding the component which represents the duration

+
+
"B"
+
+

the suffix designator to represent years before year one, represented by the character "B", placed after the time scale components of calendar year, decade and century.

+
+
"Z"
+
+

the UTC designator, represented by the character "Z", added to the end of a time representation to indicate that a time of day is represented as UTC of day.

+
+
"G"
+
+

the grouped time scale unit prefix designator, represented by the character "G", indicates a grouping calculation applies to the subsequent time scale components until encountering the corresponding suffix designator.

+
+
"U"
+
+

the grouped time scale unit suffix designator, represented by the character "U", indicates a grouping calculation applies to the preceding time scale components from the corresponding prefix designator.

+
+
"x"
+
+

the representation of any character "x" as according to the textual representation of "x" in the repertoire

+
+
+ + + +

Although "M" can be used to designate months or for minutes, its meaning is unambiguous in expressions because the time portion shall always be preceded by the time designator "T".

+
+

The designator symbol "J" is assigned from its ordinal position +being the tenth letter of the English alphabet.

+
+

The "G" and "U" designator symbols are used to demarcate the +"grouped time scale unit" time scale components as they form the +initial letters of the words "group" and "unit".

+
+Separator symbols

In date and time expressions and date and time representations, the following characters are used as separators.

+
+
"/" (solidus)
+
+

the "/" solidus character separates start and end times in the representation of a time interval, as well as the symbol 'R' from the remainder of a recurring time interval representation. A solidus may be replaced with a double hyphen ["--"] by mutual agreement of the communicating partners.

+
+
"." (period) and "," (comma)
+
+

the "." period and "," comma characters are decimal signs used to separate the integer part from the decimal fraction of a number.

+
+
+Time scale components and units + General +

Additional properties and the explicit forms of time scale units are +represented in this clause.

+
+Order of time scale units

This document refers to an "order" amongst time scale units, which is +defined by the duration of a time scale unit relative to other time +scale units. For example, since a single calendar month has a duration +always greater than a single unit of calendar day, the former is +considered of a higher order time scale unit than calendar day, and +therefore the latter is also considered of a lower order time scale +unit than the former.

+

The relative order of commonly used time scale units is specified +below, with the higher listed entry considered a higher order time +scale unit than a lower listed entry:

+
    +
  1. +

    calendar century

    +
  2. +
  3. +

    calendar decade

    +
  4. +
  5. +

    calendar year

    +
  6. +
  7. +

    calendar month

    +
  8. +
  9. +

    calendar week

    +
  10. +
  11. +

    calendar day

    +
  12. +
  13. +

    clock hour

    +
  14. +
  15. +

    clock minute

    +
  16. +
  17. +

    clock second

    +
  18. +
+ +

a higher order time scale does not necessarily mean its duration +can be expressed as an integer multiple of a lower order time scale, +for example, in the case of calendar month (28, 29, 30 or 31 days) +and calendar week (7 days).

+
+Explicit formsValue prefixing

Prefixing of the value with one or more "`0`"s (the number zero) to the +integer [i] is allowed in the explicit forms of time scale components.

+ +

'1M', '01M', and '0001M' all describe the calendar month January.

+
+Calendar year and years duration

The calendar year and years duration is represented as follows:

+[i]["Y"] + +

'12Y', duration, twelve years

+
+ +

'12Y', date, year 12.

+
+Calendar month and months duration

The calendar month and months duration is represented as follows:

+[i]["M"] + +

'6M', duration, 6 months.

+
+ +

'8M', date, the month of August.

+
+Calendar week of year and weeks duration

The calendar week of year number and weeks duration is represented as +follows:

+[i]["W"] + +

'10W', duration, ten weeks.

+
+ +

'22W', date, the twenty-second calendar week of a calendar year.

+
+Calendar day of month and days duration

The calendar day of month and days duration is represented as follows:

+[i]["D"] + +

'130D', duration, 130 days.

+
+ +

'25D', date, the twenty-fifth (25) calendar day of a calendar month.

+
+Calendar day of week

The calendar day of week is represented as the following time scale component:

+[i]["K"] +

Where,

+
    +
  • +

    [i] represents the ordinal day number in the calendar week; +valid values of [i] are the integers 1 to 7, representing Monday to Sunday, +in accordance with "The week calendar" specified in 4.2.2.

    +
  • +
+ +

'1K', calendar day of week Monday

+
+ +

'3K', calendar day of week Wednesday

+
+ +

'7K', calendar day of week Sunday

+
+Calendar day of year

The calendar day of year is represented as the following time scale component:

+[i]["O"] + +

'351O', ordinal day 351 of the calendar year

+
+Clock hour and hours duration

Clock hour and hours duration is represented as follows:

+[i]["H"] + +

'36H', duration, thirty-six hours.

+
+ +

'6H', time, the sixth clock hour.

+
+Clock minute and minutes duration

Clock minute and minutes duration is represented as follows:

+[i]["M"] + +

'72M', duration, 72 minutes.

+
+ +

'56M', time, the fifty-sixth clock minute.

+
+Clock second and seconds duration

Clock second and seconds duration is represented as follows:

+[i]["S"] + +

'300S', duration, 300 seconds

+
+ +

'28S', duration, the twenty-eighth clock second.

+
+Decade

The decade is represented as the following time scale component:

+[i]["J"] + +

'196J' in explicit form represents the decade of the 1960s, spanning the calendar years 1960 to 1969.

+
+ +

'0J' in explicit form represents the decade spanning calendar years 0 to 9.

+
+Century

The century is represented as the following time scale component:

+[i]["C"] + +

'16C', in explicit form represents the century of 1600s, spanning the calendar years 1600 to 1699.

+
+ +

'0C', in explicit form represents the century spanning the calendar years 00 to 99.

+
+Negative valuesGeneral

Certain time scale components are allowed to accept a negative integer as their value. The following representation is used for value that accepts a positive or negative integer.

+negi = [!]["`-`"][i] +

In order to convert a time scale component to accept negative values, the following representation is used, where c is a time scale component unit. If the time scale component accepts an integer value of '0', the value of the expression '-0' (negative zero) is considered equivalent to that of '0'.

+c(m) = [negi][c] +

Where,

+
    +
  • +

    [c] is the time scale component representation that accepts only positive [i];

    +
  • +
  • +

    [m] is a feature label indicating that the time scale component [c] accepts negative values.

    +
  • +
+

This representation only applies to time scale components that describe a time scale unit. Specifically, it does not apply to durations, time intervals, and repeating time intervals.

+ +

If "c" is the time scale component yearE in explicit form (see Part 1 4.3.2 b)), c(m) means "calendar year accepting a negative value". The explicit year representation [i]["Y"] becomes [negi]["Y"] when [i] is replaced with [negi], and expands to [!]["-"]][i]["Y"], which accepts the representations [i]["Y`"] or ["-"]"Y"]. In this expression, the value of [i] or ["-"`][i] represents an integer whose value identifies a calendar year.

+
+Calendar year

When a negative calendar year represents a date, the negative value is +to represent the number of years prior to year zero (0).

+

The representation for calendar year that accepts a negative value is as follows.

+year(m) + +

'-12Y' in date represents the the calendar year -12.

+
+ +

'-1Y' in date represents the year immediately preceding year 0.

+
+ +

Year zero is expressed as '0Y' in explicit form.

+
+Calendar week of year

When a negative calendar week of year represents a date, the negative +value is to represent the number of weeks counting in reverse from the +end of the calendar year, where the last week of the year is +represented by the integer value '-1'.

+

The representation for calendar week of year that accepts a negative value is as follows.

+week(m) + +

'-10W' in date represents the tenth last week of the year.

+
+ +

'-3W' in date represents the third last week of the year.

+
+Calendar day of month

When a negative calendar day of month represents a date, the negative +value is to represent the number of days counting in reverse from the +end of the calendar month, where the last day of the month is +represented by the integer value '-1'.

+

The representation for calendar day of month that accepts a negative value is as follows.

+day(m) + +

'-1D' in date represents the last day of the month.

+
+ +

'-5D' in date represents the fifth last day of the month.

+
+Calendar day of year

When a negative calendar day of year represents a date, the negative value is to represent the number of days counting in reverse from the end of the calendar year, where the last day of the year is represented by the integer value '-1'.

+

The representation for calendar day of year that accepts a negative value is as follows.

+dayo(m) + +

'-7O' in date represents the seventh last day of the calendar year, which is always December 25th.

+
+ +

'-306O' in date represents February 29th for a leap year, February 28th otherwise.

+
+Duration

A duration in the reverse direction, called a "negative duration" in +this document, can be expressed using the following representation +based on the duration representation specified in +5.4.2. +In this case, all time scale component within the duration +representation must be positive.

+duration(m) = [!]["`-"`][positive-duration] +

Where,

+
    +
  • +

    [positive-duration] is the [duration] representation that contains only time scale components that have positive [i].

    +
  • +
+ +

'-P100D' in date represents the duration of 100 days in the reverse direction.

+
+ +

'-P1Y3D' in date represents the duration of one years and three days in the reverse direction.

+
+ +

'-P20Y3M' describes a negative duration of twenty years and three months ago.

+
+Calendar year before year one

A suffix addition to time scale components for calendar year, decade and century +allows representation of calendar years before year one (1).

+

The representation is given as follows.

+[c]["B"] +

Where,

+
    +
  • +

    [c] is one of [yearE], [decE], [centE].

    +
  • +
+ +

'1YB' the first year before year one, equivalent to the effect of '0Y'.

+
+ +

'12YB' the twelfth year before year one, equivalent to the effect of '-11Y'.

+
+ +

'12JB' the twelfth decade before year one, equivalent to the effect of time interval +'-119/-110'.

+
+ +

'12CB' the twelfth century before year one, equivalent to the effect of time interval +'-1190/-1100'.

+
+Grouped time scale units + General +

A time scale unit can be grouped into a larger composite unit that +can each be specifically referred to using representations provided +in this clause.

+
+Unit definition

A grouped time scale unit ("grouped unit") defines a time scale unit +that is a composite of smaller time scale units. +Its representation is provided as follows +and is denoted as [groupUnit] in this document.

+["G"][durationUnits]["U"] +

Where,

+
    +
  • +

    ["G"] is the grouping prefix designator;

    +
  • +
  • +

    ["U"] is the grouping suffix designator;

    +
  • +
  • +

    [durationUnits], one or more time scale components for +expressing positive duration as specified in +.

    +
  • +
+

The definition of a grouped unit is a continuous one, such that there is no gap between two adjacent grouped units.

+ +

'G10DU', every unit of the grouped unit is of ten days duration.

+
+ +

'GT30MU', every unit of the grouped unit is of thirty minutes duration.

+
+ +

'G2DT6HU', every unit of the grouped unit is of two days and six hours duration.

+
+Unit value

The value of a grouped time scale unit is given with +the following representation. +This representation is denoted as [group] in this document.

+group = [i][groupUnit] +

Where,

+
    +
  • +

    [i] indicates the coefficient value of the grouped time scale unit;

    +
  • +
  • +

    [groupUnit] denotes an expression for a grouped time scale unit +().

    +
  • +
+ +

'5G10DU', the fifth unit of ten-day groups.

+
+ +

'20GT30MU', the twentieth unit of thirty-minute groups.

+
+ +

'2G2DT6HU', the second unit of two-day groups.

+
+ +

'2018-02-GP14D2I' and '2018Y02MGP14D2ID' are complete date representations that indicates "the second fortnight of February 2018", as specified by the rule "group every 14 days, second group".

+
+ +

'2018-03-GP10D3I' and '2018Y03MGP10D3ID' are complete date representations that indicates "the third 10-day block of March in 2018", as specified by the rule "group every 10 days, third group". A 10-day block is a time grouping commonly used in East Asia.

+
+ +

’16:GPT15M1I:00’ and 'T16HGPT15M1I0S' are complete time representations that indicates "the first quarter-hour of 16:00", as specified by the rule "group every 15 minutes, first group".

+
+ +

'2018-GP6M1I' and '2018YGP6M1IM' are date expressions (implied and explicit formats, respectively) of monthly precision that indicates "the first half of 2018", as specified by the rule "group every 6 months, first group", and therefore the grouping is specified in the [month] field. The resulting time interval is equivalent to the time interval expression '2018-01-01/2018-06-30'.

+
+Application within representationsGeneral

Grouped time scale units can be applied to date and time representations as +replacements for any time scale unit components as +long as the resulting expression is a valid one.

+ +

2018Y3G60DU6D is a valid date expression that refers to the date +year 2018, ordinal day of year 186 (which is July 5th).

+
+ +

2018Y9M2DT2GT8HU0H30M is a valid date and time expression that +refers to the date year 2018, September 2nd, 16:30.

+
+Use of grouped units

Date and time representations can incorporate the grouped +time scale units by applying rules from +and to a date and time representation +described by this document and , by +replacing a time scale unit component in the representations +with [group].

+

The following representation is used for date and time +representations (complete representation, reduced precision) +that incorporate grouped time scale units. This +representation is denoted as [groupDateTime] in this document.

+[higher-order-units][group][lower-units] +

Where,

+
    +
  • +

    [higher-order-units] contains time scale units (and their +values) that are of higher order compared to the highest order time +scale unit within the group unit;

    +
  • +
  • +

    [lower-order-units] is optional, it contains time scale +units (and their values) that are of equal or lower order compared to +the lowest order time scale unit within the group unit.

    +
  • +
+ +

[monthE][group][yearE] is an invalid date and time representation +as [monthE] has a lower order than that of [yearE].

+
+

When [lower-order-units] is omitted, the expression refers +to a unit of the grouped time scale unit.

+ +

[centE][group] is a valid date and time representation, +expressing in units of the grouped time scale unit.

+
+ +

'2018Y1G60DU' represents the first 60-day group of the +year 2018.

+
+ +

'2018Y2M2G14DU' refers to the second 14-day group +in February of year 2018, which is in effect referring to +"the second fortnight of February 2018".

+
+ +

'2018Y3M3G10DU' refers to the third 10-day block of March +in 2018. A 10-day block is a time grouping commonly used +in East Asia.

+
+ +

'T16H1GT15MU' refers to the first quarter-hour of 16:00.

+
+

When [lower-order-units] is present, the expression refers +to a date and time using the lowest time scale unit in the +[lower-order-units] expression.

+

Time scale components placed to the right of a grouped +time scale unit behaves identically to those after a typical +time scale component, such that the component to the right +refers to an instance or time interval "within" the +component at the left.

+ +

[yearE][group][dayE] is a valid date and time representation, +expressing in the calendar day time scale unit. The [dayE] +points to a calendar day within the expression [yearE][group].

+
+ +

[decE][group][timeE] is a valid date and time representation, +expressing in the lowest order time scale units specified in +[timeE], which is the clock second time scale unit. The [timeE] +points to a clock time within the expression [decE][group].

+
+ +

'2018Y3G60DU6D' represents the sixth day of the third +60-day group of the year 2018.

+
+ +

'2018Y20GT12HU3H' represents the third hour within the +twentieth 12-hour group of the year 2018.

+
+Adherence to grouped unit boundaries

Time scale unit values provided in [lower-order-units] must +not fall outside of the value bounds set by the group time scale unit +(the [group] expression).

+ +

'2018Y1G2MU30D' refers to the thirtieth day of the first +two-month group in year 2018. Since the first two-month group +of 2018 contains 59 days, the subsequent expression 30D falls +within the same grouped time scale unit.

+
+ +

'2018Y1G2MU60D' refers to the sixtieth day of the first +two-month group in year 2018. It is an invalid expression +as the first two-month group of 2018 only contains 59 days, +the expression 60D falls outside of the same grouped +time scale unit.

+
+Representation with time shift

A representation using grouped time scale units can be represented +with a time shift as:

+[groupDateTime][shiftE] + +

'2018Y1G60DUZ-5H', the first 60-day group of the year 2018, +five hours behind UTC.

+
+ +

'2018Y3G60DU6DZ8H' represents the sixth day of the third +60-day group of the year 2018, eight hours ahead of UTC.

+
+Conversion to basic time scale unitsGeneral

When an expression referring to a grouped time scale +unit has to be converted to use basic time scale units +(time scale units that are defined in ), +it can be converted into a time interval.

+ +

'2018Y1G6MU' refers to the first 6-month group of year 2018. +The resulting time interval is equivalent to that of the time interval +expression '2018Y1M/2018Y6M'.

+
+Truncation of partial units

When the duration of a grouped time scale unit does not cleanly +divide the original time scale component, the duration of +the last unit of the grouped time scale is only partially +located within the boundaries specified by the original time scale component.

+

In this case, the particular grouped time scale unit refers only +to the duration that is within bounds of the original time +scale component. The remaining duration that are out +of bounds shall be truncated.

+ +

2018Y9M4G8DU refers to the +"fourth 8-day grouping of September of year 2018", +but the fourth grouped unit only has 6 days within September +and 2 days in October. According to the truncation rule, only +the first 6 days belong to this grouped unit, and the resulting +time interval is 2018-09-25/2018-09-30.

+
+Spanning grouped unit boundaries

In order to express a time interval covered by the grouped +unit without regard to the boundaries of the original time component, +the same expression can be provided using time interval representation.

+ +

2018Y9M4G8DU, "fourth 8-day grouping of September of year 2018", +the start date of the fourth grouped unit can be found as 2018Y9M25D. +Therefore, the expression of 2018Y9M25D/P8D provides the full 8-day +duration of the unit, in the interval 2018Y9M25D/2018Y10M2.

+
+Explicit representations + General +

This section provides date and time representations using explicit form.

+
+Date + General +

The representations provided in this clause are collectively denoted as [dateE].

+
+Calendar date

The complete representation of a calendar date shall be as follows.

+[yearE][monthE][dayE] + +

'1985Y4M12D', calendar year 1985, April 12th.

+
+Ordinal date

A complete representation of an ordinal date shall be as follows.

+[yearE][dayoE] + +

'1985Y102O', calendar year 1985, ordinal day 102 of year.

+
+Week date

A complete representation of a week date shall be as follows.

+[yearE][weekE][daykE] + +

'1985Y15W5K', calendar year 1985, Friday of the calendar week 15.

+
+Time of dayLocal time of day

Representations of local time of day as defined below make no +provisions to prevent ambiguities in expressions that result from +discontinuities in the local time scale (e.g. daylight-saving time). +When the need arises to prevent these ambiguities, the representations +provided in may serve useful.

+

A complete representation of local time of day shall be as follows. +This representation shall be denoted as [timeE].

+["T"][hourE][minE][secE] + +

'T23H20M50S', a local time of day expression describing the fiftieth +seconds of the twentieth minute of the twenty-third clock hour.

+
+Beginning of the day

The complete representation of beginning of day in explicit form shall +be as follows.

+T0H0M0S +

Applying the rule of omitting zero-valued time scale components, it can also +be represented as:

+T0S +

There is no representation of end of day to prevent ambiguity of the +overlapping end of day and the beginning of the next day.

+Time shift

A time shift is used to represent the shift of local standard time +against UTC.

+

The complete representation of time shift in explicit form is represented +as follows, and is denoted as [shiftE] within this document.

+["Z"][!]["-"][timeE] +

Where,

+
    +
  • +

    ["Z"] is the time shift designator;

    +
  • +
  • +

    the leading minus sign (["-"]) is only applied when the time shift +expressed is behind UTC, it shall be omitted if the time shift is +ahead of or equal to UTC;

    +
  • +
  • +

    the expression [timeE] indicates the actual time shift from UTC.

    +
  • +
+

In accordance with , zero-valued +time scale components may be omitted in [timeE].

+ +

'Z-5H', the time shift is 5 hours behind UTC.

+
+ +

'Z8H', the time shift is 8 hours ahead of UTC.

+
+ +

'Z6H0M', the time shift is six hours ahead of UTC; the expression '0M' may be omitted +in accordance with .

+
+ +

'Z8H30M10S', the time shift is eight hours, thirty minutes and ten seconds ahead of UTC.

+
+

A single ["Z"] with the [timeE] portion empty, in accordance with the +rules specified in , indicates that the +time shift from UTC of day is zero, and is functionally equivalent to +the representation 'Z0H0M'.

+["Z"] + +

'Z', UTC where the time shift is zero.

+
+ +

'Z0H0M', UTC where the time shift is zero.

+
+Date with shift

The complete representation for date with a time shift is as follows.

+[dateE][shiftE] + +

'1985Y4M12DZ-5H', calendar year 1985, April 12th with a time shift of 5 hours behind UTC.

+
+Time of day with time shift

The complete representation for time of day with a time shift is as follows.

+[timeE][shiftE] + +

'T23H20M50SZ', 23:20:50 at UTC of day.

+
+ +

'T23H20M50SZ-5H0M', 23:20:50 at local time, which is 5 hours behind UTC.

+
+ +

'T23H20M50SZ8H', 23:20:50 at local time, which is 8 hours ahead of UTC.

+
+Date and time of day

A time can be expressed by combining a date expression () +with a time of day expression ().

+

The date part of a date and time expression must be complete. The time +may be incomplete ().

+

The representations provided in this clause are collectively denoted as +[datetimeE].

+Date and time only

The complete representation for date and time only is as follows.

+[dateE][timeE] + +

'1985Y4M12DT23H20M30S', calendar year 1985, April 12th, 23:20:30.

+
+Date and time with shift

The complete representation for date with time and a time shift is as follows.

+[dateE][timeE][shiftE] + +

'1985Y4M12DT23H20M30SZ8H', calendar year 1985, April 12th, 23:20:30, 8 hours ahead of UTC.

+
+Decade

The complete representation for decade is as follows.

+[decE] + +

'1880', the decade 1880s, spanning years from 1880 to 1889.

+
+Century

The complete representation for century is as follows.

+[centE] + +

'1300', the century 1300s, spanning years from 1300 to 1399.

+
+Omission of zero valued components

Time scale components within an explicit form that has a value of 0 may be omitted entirely with its corresponding designator, except when the omission of it affects the indication of precision.

+

In the representations given in this clause, if a time scale component of a higher order (compared to the lowest order component specified in the representation) is omitted, it is assumed to have the value "0" as long as the time scale component accepts the value "0" (4.3).

+ +

'1985Y4M15DT15H0M10S' and '1985Y4M15DT15H10S' can be both used to express +the time 3:00:10 p.m. on April 15th, 1985 in the Gregorian calendar.

+
+ +

'1988Y3M1DT2H0M0S' and '1988Y3M1DT2H' are unequal representations where the former expression has seconds precision, and the latter expression has hour precision.

+
+ +

'2018Y8M8DT30M0SZ': indicates the date 8th August 2018 at time 00:30:00 in UTC time of day Since the "hour" component is omitted and "seconds" included, the hour is assumed to be zero, and the expression has seconds precision. This is equivalent to the expression '2018Y08M08DT30M0SZ' in which zero padding is applied to calendar month and calendar day.

+
+Indication of precision

The lowest denoted time scale component in a date and time representation +indicates the precision level of the representation.

+ +

'1985Y4M' has calendar month precision.

+
+ +

'1985Y4M12DT2H' has clock hour precision.

+
+ +

'1985Y4M12DT30M' has clock minute precision, where the clock hour time +scale component is a zero-valued omission.

+
+Decimal fractions for time

A decimal fraction of hour, minute or second may be included in an expression in accordance with 5.2.1.4.

+ +

'2018Y8M8DT0,5H': indicates the date 8th August 2018 at time 00:30 with minutes precision.

+
+ +

'2018Y8M8DT10H30.5M': indicates the date 8th August 2018 at time 10:30:30 with seconds precision.

+
+ +

'2018Y8M8DT10H30M15,3S': indicates the date 8th August 2018 at time 10:30:15 plus 300ms with sub-second precision.

+
+Representations other than complete

Any of the representations given in this clause may be modified for reduced precision +() and decimal representation ().

+ +

'2018Y8M': indicates the date August 2018 with calendar month precision.

+
+ +

'2018Y8M8DT30M': indicates the date 8th August 2018 at time 00:30 with minute precision. Since the "hour" component is omitted, it is assumed to be zero because it is of a higher order than the lowest order component specified in the representation (here, "minutes). The omitted "`second" component does not form part of the representation because it is of a lower order than the lowest order component.

+
+Time intervalGeneral

A time interval shall be expressed by a start and an end date. +A solidus ["/"] is used as a separator to separate the two start and +end dates.

+

The complete representation of a time interval is defined as follows.

+[datetimeE]["/"][datetimeE] + +

'1985Y4M12DT23H20M50S/1985Y6M25DT10H30M0S', time interval beginning at +20 minutes and 50 seconds past 23 hours on 12 April 1985 local time of +day and ending at 30 minutes past 10 hours on 25 June 1985 local time +of day.

+
+Duration substitution

Providing a duration as an alternative to either a start or end date is +acceptable, given the start and end dates can be inferred from the given +duration of the time interval.

+ +

'1985Y4M12DT23H20M50S/P3D'

+
+ +

'P3D/1985Y4M12DT23H20M50S'

+
+Time scale component order

For expression of a time interval by a start and an end, higher order +time scale components may be omitted from the "end of time interval", +provided that the resulting expression is unambiguous. In this case the +omitted higher order components from the "start of time interval" +expression apply.

+ +

'2018Y1M15D/2M20D' represents '2018Y1M15D/2018Y2M20D' as the expression +'2M20D' unambiguously refers to the calendar month and calendar day +components, and the higher order components can be inherited from the +start date expression.

+
+Time shift indication

Representations for time zones and UTC included with the component +preceding the separator shall be assumed to apply to the component +following the separator, unless a corresponding alternative is included.

+ +

'2018Y1M15DZ5Y0M/2018Y2M20D' is equivalent to +'2018Y1M15DZ5Y0M/2018Y2M20DZ5Y0M' as the 'Z5H0M' time shift also +applies to the expression after the separator.

+
+Explicit durationGeneral

Duration can be expressed by a combination of time scale units +in explicit form — years, months, weeks, days, hours, minutes, and seconds.

+

These time scale components are specified in +, and are used to specify +positive duration.

+Durational units

Time scale unit components are used to compose a duration expression, +and are defined as "durational units".

+

The following time scale components can be combined +to form a representation denoted as [durationUnits] +for the expression of duration.

+[yearE][monthE][weekE][dayE]["T"][hourE][minuteE][secondE] +

Where,

+
    +
  • +

    each time scale component acting as a durational unit +(such as [monthE]) may be omitted;

    +
  • +
  • +

    the time designator symbol ["T"] is used to separate +the time scale components relating to the clock from those of +the calendar.

    +
  • +
+

Within [durationUnits], time scale components of higher order +shall be expressed before those of lower order.

+Representations + General +

The following representations are both considered complete +representations of duration.

+
+Composite representation

The composite representation of a duration, fully accepting +expressions of the duration representation given in +5.2.3, is given as follows.

+[!]["-"]["P"][durationUnits] +

Where,

+
    +
  • +

    [durationUnits] contains time scale components for expressing +positive duration.

    +
  • +
+ +

'P3D', duration of three days.

+
+ +

'P3W2D', duration of three weeks and two days, which is 23 days, as +equivalent to the expression of 'P23D'.

+
+ +

'P180Y800D', duration of one-hundred-and-eighty years and eight-hundred days.

+
+ +

The exact duration for some time scale components can only be +known when placed on the actual time scale.

+
+Precedence representation

The precedence representation of a duration is used for specifying +author intent in the evaluation order of time scale components within +a duration.

+

The representation of calendar duration time scale components +(denoted as [calendarD]) is provided as follows.

+["P"][calendarDU] +

Where,

+
    +
  • +

    [calendarDU] is one of [yearE], [monthE], [weekE], [dayE].

    +
  • +
+ +

P3D describes a duration of three days, in accordance with [calendarD].

+
+

The representation of clock duration time scale components +(denoted as [clockD]) is provided as follows.

+["P"]["T"][clockDU] +

Where,

+
    +
  • +

    [clockDU] is one of [hourE], [minuteE], [secondE].

    +
  • +
+ +

PT8H describes a duration of eight hours, in accordance with [clockD].

+
+

The duration precedence representation is described as follows, +denoted as [durationP].

+[!]["-"][durC-1][durC-2]...[durC-n] +

Where,

+
    +
  • +

    [durC-i] is either [calendarD] or [clockD];

    +
  • +
  • +

    the order of the [durC-i] components is used to determine the +evaluation precedence order of the duration statement [durationP].

    +
  • +
+ +

P1YP3MP2D describes a duration of one year, three months +and two days, to be evaluated in the order as described.

+
+ +

P2DP3MP1Y describes a duration of two days, three months +and one year, to be evaluated in the order as described.

+
+ +

PT10HP2DP3MP1Y describes a duration of ten hours, two days, three months +and one year, to be evaluated in the order as described.

+
+Negative duration

A duration with a negative value represents a duration in the reverse +direction of the proceeding time scale.

+ +

-P20Y3M describes a negative duration of twenty years and three months ago.

+
+ +

-P2DP3MP1Y describes a negative duration of two days, three months +and one year, to be evaluated in the order as described.

+
+ + Fractional duration +

A duration representation can be modified to accept a fractional value +in place of any [i] specified in a durational time scale component.

+
+Exact duration + General +

This clause describes methods to resolve exact duration in +face of ambiguities.

+
+Context-dependent duration

The exact duration of some time scale units can only be known +when placed on the actual time scale.

+ +

'P1Y' duration could be 365 or 366 calendar days depending on +whether the year is a leap year.

+
+ +

'P3M' duration could be 90, 91, 92 days depending on the actual +calendar months and calendar year.

+
+ +

'PT1M' duration is normally 60 seconds, but when the minute is the +last minute of the year, it could be 59, 60 or 61 seconds long +depending on whether a leap second is applied.

+
+ +

'P1Y2M15DT12H30M', duration of 1 year, 2 months, 15 days, 12 hours +and 30 minutes. The actual duration of the involved calendar months can +only be known when the duration is placed on an actual start date.

+
+Speculative duration

The exact duration of certain time scale unit may only be known +after an event occurs.

+

There is no universal rule to calculate leap seconds in advance, since +the decision to insert a leap second is driven by a number of dynamic +factors and only known when announced by the BIPM.

+

Specifically, the exact duration of the last clock minute of a +calendar year can only be known after it is announced by the BIPM, +whether a leap second has or will occur (in UTC). +This event is described in this document to occur at the +"leap second horizon date" for a calendar year.

+

The exact duration of the last clock minute in a calendar year +is one of the following duration:

+
    +
  • +

    when there is a positive leap second, 61 clock seconds;

    +
  • +
  • +

    when there is no leap second, 60 clock seconds; and

    +
  • +
  • +

    when there is a negative leap second, 59 clock seconds.

    +
  • +
+

For the accuracy of general purposes, it is acceptable to assume +the last clock minute always contains 60 clock seconds, just like +any other clock minute.

+

For cases where durational accuracy at the clock second level is +of importance, the following steps shall be taken:

+
    +
  • +

    When calculating exact duration prior to the leap second horizon +date of a specific calendar year involved, the last clock +minute is assumed to have no leap second, such that 59 is always +the last second of the year;

    +
  • +
  • +

    When calculating exact duration after the leap second horizon +date of a specific calendar year involved, the last clock +minute shall reflect the actual duration.

    +
  • +
+ +

'P3000Y12M31DT23H59M' is considered to have a duration of 60 clock seconds, +as the calendar year 3000’s leap second horizon date has not yet +occurred.

+
+ +

'P2016Y12M31DT23H59M' is considered to have a duration of 61 clock seconds, +since the leap second horizon date has already occurred, and it is known +that a positive leap second assigned to the calendar year 2016.

+
+Evaluation of date and time with durationGeneral

A date and time representation is modified by a duration +in many cases, including the calculation for:

+
    +
  • +

    time intervals when given duration as a start or end;

    +
  • +
  • +

    boundaries of grouped time scale units ();

    +
  • +
  • +

    conversion between of UTC of day and local time of day via time shifts; and

    +
  • +
  • +

    occurrences of recurring time intervals.

    +
  • +
+

This clause provides methods to calculate a consistent result +date and time, given an origin date and time ("origin") +and a duration time scale component (duration) to apply.

+

Modification of a date and time representation with +a duration is described using the following representation, +called a "date time formula".

+resolve(date, duration) +

or

+date + duration + +

2018Y9M10D + P1D is a date time formula.

+
+Prerequisite mechanismsCarry-over of overflow in time scale components

An "overflow" of a date and time expression is defined as assigning a +value exceeding the maximum value accepted by the time scale component.

+ +

An increase of P1M (duration) to 2018Y12M (date) will result in the expression +2018Y13M, where the month component is overflowed with value 13.

+
+

An overflow is considered resolved once the overflowed time scale unit +has transferred its excess to the immediate higher order time scale +component.

+ +

The overflowed expression 2018Y13M can be resolved to 2019Y1M.

+
+

An overflow can cause multiple carry-overs when the overflow not only +causes the immediate higher order time scale component to overflow, but +also subsequent higher order components.

+ +

The overflowed expression 2018Y12M366D can be resolved to 2018Y24M1D +(which still contains an overflow), which can be resolved to +2019Y12M1D (where there is no more overflow).

+
+Truncation at time scale component boundaries

A modification made to a higher order time scale component may +cause the value of a lower order time scale component to go beyond +its value boundaries. This condition is described as +"out of bounds" of a date and time expression.

+

This situation occurs when a modification is made to the values of +certain time scale components, because a lower order component +always has its maximum value bound by its immediate higher order +component:

+
    +
  • +

    clock minute (clock second value of 60 is only valid for a leap +second);

    +
  • +
  • +

    calendar month (calendar day values 29, 30, 31 are invalid for +some months); and

    +
  • +
  • +

    calendar year (ordinal day value of 366 and calendar month/day +combination of February 29th is only valid for a leap year).

    +
  • +
+ +

An increase of P1M (duration) to 2018Y1M31D (date) will result in +the expression 2018Y2M31D, which is an invalid date representation +as the calendar day value of 31 has exceeded the boundary of its +immediate higher order component, the month 2 (February).

+
+ +

An increase of P1Y (duration) to 2016Y12M31DT23H59M60S (date) will result in +the expression 2017Y12M31DT23H59M60S, which is an invalid date representation +as the clock second value of 60 has exceeded the boundary of its +immediate higher order component, the clock minute with its last second +at 59.

+
+

An out of bounds situation is considered resolved once the excess +value is truncated at the violating (lower order) time scale component.

+ +

The out of bounds expression 2019Y2M29D`" can be truncated to `2019Y2M28D.

+
+ +

The out of bounds expression 2020Y366O`" can be truncated to `2020Y365O.

+
+Simple duration

A simple duration is a duration expression with only +a single time scale component.

+

Evaluation of a date time formula that contains a simple duration +is to directly apply the durational unit to the corresponding +time scale component of the date and time representation +and applying carry-over.

+

The steps are as follows:

+
    +
  1. +

    Take the value of the time scale component in the simple duration, +directly modify the value of the corresponding time scale component +in the date and time representation.

    +
  2. +
  3. +

    In the resulting date and time representation, start from the +lowest order overflowed time scale component, perform carry-over +until there is no more overflow in the representation.

    +
  4. +
  5. +

    If any time scale components have become invalid, apply +truncation to them.

    +
  6. +
  7. +

    The resulting date and time representation is complete.

    +
  8. +
+

Calculation of 2022Y2M28D + P3D:

+
    +
  1. +

    Direct modification of date and time representation, obtains 2022Y2M31D.

    +
  2. +
  3. +

    Apply carry-over to overflowed components, obtains 2022Y3M02D.

    +
  4. +
+Composite duration

The method of evaluating of a date time formula with a +composite duration () is to directly +apply the durational units to the date and time representation +without truncation, and only applying carry-over at the end.

+

The steps are as follows:

+
    +
  1. +

    For all values of time scale components in the composite duration, +directly modify the values of the corresponding time scale components +in the date and time representation.

    +
  2. +
  3. +

    In the resulting date and time representation, start from the +lowest order overflowed time scale component, perform carry-over +on all overflowed time scale components, until there is no more +overflow in the representation.

    +
  4. +
  5. +

    If any time scale components have become invalid, apply +truncation to them.

    +
  6. +
  7. +

    The resulting date and time representation is complete.

    +
  8. +
+

Calculation of 2022Y2M30D + P1Y3M2D:

+
    +
  1. +

    Direct modification of date and time representation, obtains 2023Y5M32D.

    +
  2. +
  3. +

    Apply carry-over to overflowed components, obtains 2023Y6M31D.

    +
  4. +
  5. +

    The resulting representation is 2023Y6M31D.

    +
  6. +
+Precedence duration

The method of evaluating of a date time formula with a +precedence duration () is to apply the +durational units one by one to the date and time representation +with truncation and carry-over at every step.

+

The steps are as follows:

+
    +
  1. +

    Starting at the left side of the precedence duration expression, +process every durational unit one by one as follows:

    +
      +
    1. +

      Use the durational unit (which only contains one time scale +component), to modify the corresponding time scale component (the "target component") +in the date and time representation.

      +
    2. +
    3. +

      If the target component has overflowed in the previous step, +perform carry-over (to higher order time scale components), +until there is no more overflow in the representation.

      +
    4. +
    5. +

      If any time scale components of lower order than the +target component have become invalid, apply truncation +to them.

      +
    6. +
    +
  2. +
  3. +

    Once all durational units have been processed, the +resulting date and time representation is complete.

    +
  4. +
+

Calculation of 2022Y2M29D + P1YP3MP2D:

+
    +
  1. +

    Process the first durational unit: (2022Y2M29D + P1Y) + P3MP2D.

    +
  2. +
  3. +

    Apply the first durational unit to the date and time representation: +2023Y2M29D + P3MP2D.

    +
  4. +
  5. +

    No carry-over is necessary since there is no overflow.

    +
  6. +
  7. +

    Since 29D is of lower order than the target component (calendar +year), the representation is truncated: 2023Y2M28D + P3MP2D.

    +
  8. +
  9. +

    Process the second durational unit: (2023Y2M28D + P3M) + P2D.

    +
  10. +
  11. +

    Apply the second durational unit to the date and time representation: +2023Y5M28D + P2D.

    +
  12. +
  13. +

    No carry-over is necessary since there is no overflow.

    +
  14. +
  15. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  16. +
  17. +

    Process the third durational unit: 2023Y5M28D + P2D.

    +
  18. +
  19. +

    Apply the third durational unit to the date and time representation: +2023Y5M31D.

    +
  20. +
  21. +

    No carry-over is necessary since there is no overflow.

    +
  22. +
  23. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  24. +
  25. +

    The resulting date and time representation is 2023Y5M31D.

    +
  26. +
+

Calculation of 2022Y2M29D + P2DP3MP1Y:

+
    +
  1. +

    Process the first durational unit: (2022Y2M29D + P2D) + P3MP1Y.

    +
  2. +
  3. +

    Apply the first durational unit to the date and time representation: +2022Y2M31D + P3MP1Y.

    +
  4. +
  5. +

    Carry-over is necessary since there is the target component has overflowed: +2022Y3M2D + P3MP1Y.

    +
  6. +
  7. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  8. +
  9. +

    Process the second durational unit: (2022Y3M2D + P3M) + P1Y.

    +
  10. +
  11. +

    Apply the second durational unit to the date and time representation: +2022Y6M2D + P1Y.

    +
  12. +
  13. +

    No carry-over is necessary since there is no overflow.

    +
  14. +
  15. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  16. +
  17. +

    Process the third durational unit: 2022Y6M2D + P1Y.

    +
  18. +
  19. +

    Apply the third durational unit to the date and time representation: +2023Y6M2D.

    +
  20. +
  21. +

    No carry-over is necessary since there is no overflow.

    +
  22. +
  23. +

    No component of lower order than the target component is invalid, +hence truncation is not necessary.

    +
  24. +
  25. +

    The resulting date and time representation is P1Y.

    +
  26. +
+Involving fractional duration

When fractional duration () is applied +to context-dependent durational units (), +it is necessary to resolve the fractional duration in context.

+ +

The expression P0.5M ("half a month") is ambiguous because +the exact duration of a calendar month depends on its context, +and that the context for which P0.5M is anchored to is unclear.

+
+

The duration of a fractional, context-dependent, durational unit +can be obtained by first calculating a single unit of the durational +unit in context, such that, the exact duration for the durational +unit in whole (e.g. "P1M") becomes known. Once the exact duration +of a single unit is known, the duration of the fractional unit can +be calculated.

+date + frac-dur = + duration(date + unit(frac-dur), date) × value(frac-dur) + date +

Where,

+
    +
  • +

    unit(frac-dur) is the value of a single unit used in the duration frac-dur;

    +
  • +
  • +

    value(frac-dur) is the fractional value used with the duration frac-dur;

    +
  • +
  • +

    duration(date1, date2) is a function to calculate the duration between two dates or times, +such as or .

    +
  • +
+

Given that "date + unit(frac-dur)" can be calculated, this +method always produces a consistent value.

+

Given the expression: 2018-01-23 + P0.5M:

+
    +
  1. +

    It is rephrased as duration(2018-01-23 + P1M, 2018-01-23) × 0.5 + 2018-01-23.

    +
  2. +
  3. +

    It is reduced to duration(2018-02-23, 2018-01-23).

    +
  4. +
  5. +

    Then P31D × 0.5 + 2018-01-23.

    +
  6. +
  7. +

    Then P15.5D + 2018-01-23.

    +
  8. +
  9. +

    Since P15.5D is an exact duration (duration of calendar day is +known), P15.5D + 2018-01-23`" is resolvable and gives the final result`2018-02-07T12:00:00.

    +
  10. +
+Involving speculative duration

As described in , there is no universal +rule to calculate leap seconds in advance, since the decision +to insert a leap second is driven by a number of dynamic +factors and only known when announced by the BIPM.

+

The rules specified in are used +to evaluate a date time formula that involves leap seconds.

+

This example applies identically with or without a leap second. Given the expression: 2018-12-31T23:59:59 + PT1M:

+
    +
  1. +

    Apply the durational unit clock minute directly to the representation: 2018-12-31T23:60:59

    +
  2. +
  3. +

    Since 59 is the last clock minute, treat the overflow with carry-over: 2018-12-31T24:00:59

    +
  4. +
  5. +

    Since 23 is the last clock hour, treat the overflow with carry-over: 2018-12-32T00:00:59

    +
  6. +
  7. +

    Since 31 is the last calendar day of year, treat the overflow with carry-over: 2018-13-01T00:00:59

    +
  8. +
  9. +

    Since 13 is the last calendar month, treat the overflow with carry-over: 2019-01-01T00:00:59

    +
  10. +
  11. +

    The resulting expression is 2019-01-01T00:00:59.

    +
  12. +
+

Given the expression containing a leap second: 2016-12-31T23:59:60 + PT1M:

+
    +
  1. +

    Apply the durational unit clock minute directly to the representation: 2016-12-31T23:60:60

    +
  2. +
  3. +

    Since 59 is the last clock minute, treat the overflow with carry-over: 2016-12-31T24:00:60

    +
  4. +
  5. +

    Since 23 is the last clock hour, treat the overflow with carry-over: 2016-12-32T00:00:60

    +
  6. +
  7. +

    Since 31 is the last calendar day of year, treat the overflow with carry-over: 2016-13-01T00:00:60

    +
  8. +
  9. +

    Since 13 is the last calendar month, treat the overflow with carry-over: 2017-01-01T00:00:60

    +
  10. +
  11. +

    The clock second 60 is out of bounds, it is truncated to the maximum value: 2017-01-01T00:00:59

    +
  12. +
  13. +

    The resulting expression is 2017-01-01T00:00:59.

    +
  14. +
+

Given the expression containing a leap second: 2016-12-31T23:59:59 + PT1S:

+
    +
  1. +

    Apply the durational unit clock second directly to the representation: 2016-12-31T23:59:60

    +
  2. +
  3. +

    The resulting expression is 2016-12-31T23:59:60.

    +
  4. +
+
+ Normative References + + Date and time — Representation for information interchange — Part 1: Basic rules + ISO 8601-1:-- + + -- + + + + + ISO + + + ISO DATE: Under preparation. (Stage at the time of publication ISO/FDIS 8601-1) + +Bibliography + + 2018-12-11 + Information technology — ISO 7-bit coded character set for information interchange + https://www.iso.org/standard/4777.html + https://www.iso.org/obp/ui/#!iso:std:4777:en + https://www.iso.org/contents/data/standard/00/47/4777.detail.rss + ISO/IEC 646 + + + + International Organization for Standardization + ISO + www.iso.org + + + + + + International Electrotechnical Commission + IEC + www.iec.ch + + + 3 + en + fr + + + 90 + 93 + + + 1991 + + + ISO/IEC + + + + + + ISO 646:1983 + + + + + ISO/IEC 646:1991 + + + + ISO/IEC JTC 1/SC 2Coded character sets + + + 35.040.10 + Coding of character sets + + + + + 2018-12-11 + Data elements and interchange formats — Information interchange — Representation of dates and times + https://www.iso.org/standard/40874.html + https://www.iso.org/obp/ui/#!iso:std:40874:en + https://www.iso.org/contents/data/standard/04/08/40874.detail.rss + ISO 8601:2004 + + 2004 + + + + + International Organization for Standardization + ISO + www.iso.org + + + 3 + en + fr + + ISO 8601:2004 is applicable whenever representation of dates in the Gregorian calendar, times in the 24-hour timekeeping system, time intervals and recurring time intervals or of the formats of these representations are included in information interchange. It includesISO 8601:2004 does not cover dates and times where words are used in the representation and dates and times where characters are not used in the representation.ISO 8601:2004 does not assign any particular meaning or interpretation to any data element that uses representations in accordance with ISO 8601:2004. Such meaning will be determined by the context of the application. + + 90 + 92 + + + 2004 + + + ISO + + + + + + ISO 8601:2000 + + + + + ISO/FDIS 8601-1 + + + + + ISO/FDIS 8601-2 + + + + ISO/TC 154Processes, data elements and documents in commerce, industry and administration + + + 01.140.30 + Documents in administration, commerce and industry + + + + Date and time — Representation for information interchange — Part 2: Extensions + ISO 8601-2:-- + + -- + + + + + ISO + + + ISO DATE: Under preparation. (Stage at the time of publication ISO/FDIS 8601-2) + +
diff --git a/deploy_key.pub b/deploy_key.pub new file mode 100644 index 0000000..59596fd --- /dev/null +++ b/deploy_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWW6R8yxRKjV3IdItnpjWGF6pfPcqgYPQIzAkUW5qP19wkpc1uEHBg9ecsqVSlAhHj7kW8jUlfOhK5GHpNiTtJm6hn9ri1WG8UhRc2ISzbk29phmwgYJsgWG7Ha9ERIKZozWrfkn/XtZYEZDCiZnw/4+fFUMtgxdiloviwCWRnp3fQvPdLiectSf8uJC/klQg5PIMVp1SH0uezGCrg/gG9VzuA7c5taT0zbG95mF/Ls9JbwLZbssRB51JVuCMVkzNksyeiySRx7/KJ1L/ZAoaYTOWfvFfIerI2pWlCgu0XBUDiZLVRnYFeAwz9m58+d9aSTBv/jRgmsPJ8hISRQcYF ci@metanorma.org diff --git a/metanorma.release.yml b/metanorma.release.yml new file mode 100644 index 0000000..ae55338 --- /dev/null +++ b/metanorma.release.yml @@ -0,0 +1,2 @@ +documents: + - source: sources/cc-18011.adoc diff --git a/metanorma.yml b/metanorma.yml index 86cf3b2..dc544d0 100644 --- a/metanorma.yml +++ b/metanorma.yml @@ -1,7 +1,9 @@ ---- metanorma: deploy: - email: "ci@metanorma.org" + email: ci@metanorma.org + source: + files: + - sources/cc-18011.adoc relaton: collection: name: TC-DATETIME diff --git a/relaton/cache/ietf/ietf_rfc_5545.redirect b/relaton/cache/ietf/ietf_rfc_5545.redirect new file mode 100644 index 0000000..18b00d2 --- /dev/null +++ b/relaton/cache/ietf/ietf_rfc_5545.redirect @@ -0,0 +1 @@ +redirection IETF(RFC 5545) \ No newline at end of file diff --git a/relaton/cache/ietf/ietf_rfc_6350.redirect b/relaton/cache/ietf/ietf_rfc_6350.redirect new file mode 100644 index 0000000..d058424 --- /dev/null +++ b/relaton/cache/ietf/ietf_rfc_6350.redirect @@ -0,0 +1 @@ +redirection IETF(RFC 6350) \ No newline at end of file diff --git a/relaton/cache/ietf/rfc_5545.xml b/relaton/cache/ietf/rfc_5545.xml new file mode 100644 index 0000000..2489918 --- /dev/null +++ b/relaton/cache/ietf/rfc_5545.xml @@ -0,0 +1,44 @@ + + 2020-06-16 + Internet Calendaring and Scheduling Core Object Specification (iCalendar) + https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5545.xml + https://www.rfc-editor.org/info/rfc5545 + RFC 5545 + RFC5545 + 10.17487/RFC5545 + + 2009-09 + + + + + + B. Desruisseaux + + + + Internet Engineering Task Force + IETF + + + + + + + + Internet Engineering Task Force + IETF + + + en + + This document defines the iCalendar data format for representing and exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, independent of any particular calendar service or protocol. [STANDARDS-TRACK] + + RFC + 5545 + + Fremont, CA + + rfc + + \ No newline at end of file diff --git a/relaton/cache/ietf/rfc_6350.xml b/relaton/cache/ietf/rfc_6350.xml new file mode 100644 index 0000000..1c5570c --- /dev/null +++ b/relaton/cache/ietf/rfc_6350.xml @@ -0,0 +1,44 @@ + + 2020-06-16 + vCard Format Specification + https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6350.xml + https://www.rfc-editor.org/info/rfc6350 + RFC 6350 + RFC6350 + 10.17487/RFC6350 + + 2011-08 + + + + + + S. Perreault + + + + Internet Engineering Task Force + IETF + + + + + + + + Internet Engineering Task Force + IETF + + + en + + This document defines the vCard data format for representing and exchanging a variety of information about individuals and other entities (e.g., formatted and structured name and delivery addresses, email address, multiple telephone numbers, photograph, logo, audio clips, etc.). This document obsoletes RFCs 2425, 2426, and 4770, and updates RFC 2739. [STANDARDS-TRACK] + + RFC + 6350 + + Fremont, CA + + rfc + + \ No newline at end of file diff --git a/relaton/cache/ietf/version b/relaton/cache/ietf/version new file mode 100644 index 0000000..a9beb58 --- /dev/null +++ b/relaton/cache/ietf/version @@ -0,0 +1 @@ +79f3e4943490234b1100d3cb63d71040 \ No newline at end of file diff --git a/relaton/cache/iso/iso_8601_2004.xml b/relaton/cache/iso/iso_8601_2004.xml new file mode 100644 index 0000000..e698cff --- /dev/null +++ b/relaton/cache/iso/iso_8601_2004.xml @@ -0,0 +1,79 @@ + + 2020-06-17 + Data elements and interchange formats + Information interchange + Representation of dates and times + Data elements and interchange formats – Information interchange – Representation of dates and times + Éléments de données et formats d'échange + Échange d'information + Représentation de la date et de l'heure + Éléments de données et formats d'échange – Échange d'information – Représentation de la date et de l'heure + https://www.iso.org/standard/40874.html + https://www.iso.org/contents/data/standard/04/08/40874.detail.rss + ISO 8601:2004 + 8601 + + 2004 + + + + + International Organization for Standardization + ISO + www.iso.org + + + 3 + en + fr + + ISO 8601:2004 is applicable whenever representation of dates in the Gregorian calendar, times in the 24-hour timekeeping system, time intervals and recurring time intervals or of the formats of these representations are included in information interchange. It includesISO 8601:2004 does not cover dates and times where words are used in the representation and dates and times where characters are not used in the representation.ISO 8601:2004 does not assign any particular meaning or interpretation to any data element that uses representations in accordance with ISO 8601:2004. Such meaning will be determined by the context of the application. + ISO 8601:2004 is applicable whenever representation of dates in the Gregorian calendar, times in the 24-hour timekeeping system, time intervals and recurring time intervals or of the formats of these representations are included in information interchange. It includesISO 8601:2004 does not cover dates and times where words are used in the representation and dates and times where characters are not used in the representation.ISO 8601:2004 does not assign any particular meaning or interpretation to any data element that uses representations in accordance with ISO 8601:2004. Such meaning will be determined by the context of the application. + + 95 + 99 + + + 2004 + + + ISO + + + + + + ISO 8601:2000 + + + + + ISO 8601-1:2019 + + 2019 + + + + + + ISO 8601-2:2019 + + 2019 + + + + Geneva + + international-standard + + ISO/TC 154Processes, data elements and documents in commerce, industry and administration + + + 01.140.30 + Documents in administration, commerce and industry + + + ISO 8601 + + + \ No newline at end of file diff --git a/relaton/cache/iso/iso_iec_646.redirect b/relaton/cache/iso/iso_iec_646.redirect new file mode 100644 index 0000000..192561f --- /dev/null +++ b/relaton/cache/iso/iso_iec_646.redirect @@ -0,0 +1 @@ +redirection ISO(ISO/IEC 646 (all parts)) \ No newline at end of file diff --git a/relaton/cache/iso/iso_iec_646_all_parts.xml b/relaton/cache/iso/iso_iec_646_all_parts.xml new file mode 100644 index 0000000..ebd11f4 --- /dev/null +++ b/relaton/cache/iso/iso_iec_646_all_parts.xml @@ -0,0 +1,132 @@ + + 2020-06-16 + Information technology + ISO 7-bit coded character set for information interchange + Information technology – ISO 7-bit coded character set for information interchange + Technologies de l'information + Jeu ISO de caractères codés à 7 éléments pour l'échange d'information + Technologies de l'information – Jeu ISO de caractères codés à 7 éléments pour l'échange d'information + https://www.iso.org/standard/4777.html + https://www.iso.org/obp/ui/#!iso:std:4777:en + https://www.iso.org/contents/data/standard/00/47/4777.detail.rss + ISO/IEC 646 (all parts) + 646 + + 1991 + + + + + International Organization for Standardization + ISO + www.iso.org + + + + + + International Electrotechnical Commission + IEC + www.iec.ch + + + 3 + en + fr + + + 90 + 93 + + + 1991 + + + ISO/IEC + + + + + + ISO 646:1983 + + + + + 2020-06-16 + Information technology + ISO 7-bit coded character set for information interchange + Information technology – ISO 7-bit coded character set for information interchange + Technologies de l'information + Jeu ISO de caractères codés à 7 éléments pour l'échange d'information + Technologies de l'information – Jeu ISO de caractères codés à 7 éléments pour l'échange d'information + https://www.iso.org/standard/4777.html + https://www.iso.org/obp/ui/#!iso:std:4777:en + https://www.iso.org/contents/data/standard/00/47/4777.detail.rss + ISO/IEC 646:1991 + 646 + + 1991 + + + + + International Organization for Standardization + ISO + www.iso.org + + + + + + International Electrotechnical Commission + IEC + www.iec.ch + + + 3 + en + fr + + Specifies a set of 128 control and graphic characters such as letters, digits and symbols with their coded representation. Applies to alphabets of the Latin script. + Specifies a set of 128 control and graphic characters such as letters, digits and symbols with their coded representation. Applies to alphabets of the Latin script. + + 90 + 93 + + + 1991 + + + ISO/IEC + + + + + + ISO 646:1983 + + + Geneva + + + + + ISO 646:1983 + + + Geneva + + international-standard + + ISO/IEC JTC 1/SC 2Coded character sets + + + 35.040.10 + Coding of character sets + + + ISO/IEC 646 (all parts) + + + \ No newline at end of file diff --git a/relaton/cache/iso/version b/relaton/cache/iso/version new file mode 100644 index 0000000..efef980 --- /dev/null +++ b/relaton/cache/iso/version @@ -0,0 +1 @@ +d2ce9db481f8308dc568639910be49aa \ No newline at end of file diff --git a/submissions/20180831-datetime-explicit.zip b/submissions/20180831-datetime-explicit.zip new file mode 100644 index 0000000000000000000000000000000000000000..ee1c6d3912ec8745f26823ae195ecd3c25f6dc5b GIT binary patch literal 74760 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

q2IugQg2Ylyk&<7;V3lM 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

CgrC2AcYs@sT-d$AJbQZjJ5jFYs7 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 Cw+z_; literal 0 HcmV?d00001 diff --git a/submissions/20180831-datetime-explicit/csd-datetime-explicit.docx b/submissions/20180831-datetime-explicit/csd-datetime-explicit.docx new file mode 100644 index 0000000000000000000000000000000000000000..4546a9422c8ba71a920112cb4da1bc2c470e55df GIT binary patch literal 53023 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 literal 0 HcmV?d00001 diff --git a/submissions/20180831-datetime-explicit/csd-datetime-explicit.html b/submissions/20180831-datetime-explicit/csd-datetime-explicit.html new file mode 100644 index 0000000..ba13ca4 --- /dev/null +++ b/submissions/20180831-datetime-explicit/csd-datetime-explicit.html @@ -0,0 +1,1554 @@ + + + + Date and time — Explicit representation + + + + + + + + + + + + + + +

+
+
+ + +
+ +

 

+
+
+
+
+
+

Foreword

+

The Calendaring and Scheduling Consortium ("CalConnect") is global non-profit +organization with the aim to facilitate interoperability of technologies across +user-centric systems and applications.

+

CalConnect works closely with liaison partners including international +organizations such as ISO, OASIS and M3AAWG.

+

The procedures used to develop this document and those intended for its further +maintenance are described in the CalConnect Directives.

+

In particular the different approval criteria needed for the different types of +CalConnect documents should be noted. This document was drafted in accordance with the +editorial rules of the CalConnect Directives.

+

Attention is drawn to the possibility that some of the elements of this +document may be the subject of patent rights. CalConnect shall not be held responsible +for identifying any or all such patent rights. Details of any patent rights +identified during the development of the document will be in the Introduction +and/or on the CalConnect list of patent declarations received (see +www.calconnect.com/patents).

+

Any trade name used in this document is information given for the convenience +of users and does not constitute an endorsement.

+

This document was prepared by Technical Committee VCARD.

+
+
+
+

Introduction

+

8601:2004 has been the international standard for date and time representations +and is applied widely, including in the RFC5545 and RFC6350 standards.

+

However, the representations provided in 8601:2004 require +fixed-length digits for time scale components, such as the +4-digit year, does not accept negative values, and does not +allow omission of a time scale component that has a zero value.

+

This document extends the "duration" representation +defined in 8601:2004 to fulfill the need of a flexible-length +representation, called the "explicit form".

+
+

Date and time — Explicit representation

+
+

1.  Scope

+

The purpose of this document is to provide a standard representation +of date and time that has time scale component values clearly +delimited by designated symbols, in order to minimize necessary +assumptions inherent to the representation format itself.

+

The date and time format representations described in this document +utilizes numbers, alphabets and symbols defined in 646. +These representations are meant to be both human recognizable and +machine readable.

+
+
+

2.  Normative references

+

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

+

8601:2004, Data elements and interchange formats -- Information interchange -- Representation of dates and times

+
+

3.  Terms and definitions

For the purposes of this document, the terms and definitions + given in ISO 8601-1 and the following apply.

+

3.1. Terms and definitions

3.1.1 

explicit form

+ +

date and time representation that uses designator symbols to delimit time scale components

+ +

3.1.2 

designator symbols

+ +

characters used to denote units of a time scale component

+

3.2. Symbols

3.2.1 

General

Representations and expressions specified in this document make use of the symbols listed in Clause 3.2.2 through Clause 3.2.6.

Representations (also referred to as "format representations") give rise to expressions for dates, times, intervals and recurring intervals.

To clearly separate date and time representations, from and the text, punctuation marks and associated symbols used to describe them, the following symbols are used to demarcate boundaries of expressions and representations in this document:

Quotation marks and brackets are not part of the expression or representation itself and must be omitted in implementation.

All characters used in date and time expressions and representations are part of the 646 repertoire, except for "hyphen", "minus" and "plus-minus". In an environment where use is made of a character repertoire based on 646, "hyphen" and "minus" should be both mapped onto "hyphen-minus".

The character "space" shall not be used in the expressions.

+ +
EXAMPLE 1 +

[YYYY] is a format representation for a calendar year, where each Y is to be replaced by a single digit creating an expression, for example '1985'.

+
+
EXAMPLE 2 +

The date and time representation [YYYY]["-"][MM]["-"][DD] gives rise to the expression '2003-02-10' which identifies 10 February 2003.

+
+ +
    +
  • +

    single quotation marks enclose expressions (for example '1985'); in some cases they are omitted to reflect the actualities of the examples;

    +
  • +
  • +

    all individual tokens that are part of a representation are contained between the open and close bracket symbols ("["` and "`]"), when used in a representation the bracket symbols are not part of any expression of that representation;

    +
    EXAMPLE +

    For the date and time representation [YYYY]["-"][MM]["-"][DD], [YYYY], ["-"], [MM], ["-"], and [DD] are individual tokens enclosed by brackets.

    +
    +
  • +
  • +

    when double quotations marks enclose a string within a representation, that string is a literal and becomes part of any expression of that representation.

    +
    EXAMPLE +

    The representation [i]["Y"] represents a positive integer followed by the symbol "Y". '12Y' meaning "12 years" is an expression of that representation.

    +
    +
  • +
+ + + +

Note 1 to entry: These designators are used for the designation of units of time and nominal durations in the representations defined in this document. For the designation of units of time and durations in other contexts, 80000-3 applies.

+

3.2.2 

Time scale component symbols

The following time scale component symbols are in implied form, for the representation of date and time.

+

year

+

time scale component calendar year

+

month

+

time scale component calendar month

+

week

+

time scale component calendar week of year

+

day

+

time scale component calendar day of month

+

dayk

+

time scale component calendar day of week

+

dayo

+

time scale component calendar day of year

+

hour

+

time scale component clock hour

+

min

+

time scale component clock minute

+

sec

+

time scale component clock second

+

dec

+

time scale component decade

+

cent

+

time scale component century

+
+

3.2.3 

Composite component symbols

+ +

dateE

+

the composite time scale components for the complete representation of a date as determined in Clause 6.3

+

timeE

+

the composite time scale components for the complete representation of a time of day as determined in Clause 6.4.1

+

shiftE

+

the composite time scale component for time shift in basic form with hours and minutes, as determined in Clause 4.13

+

durationE

+

the composite time scale units for the representation of a duration as determined in 8601:2004

+
+ +

3.2.4 

Symbols used in place of digits or signs

These symbols are used to represent characters in the date and time representations. They are used in representations only, and are replaced by one or more characters, as described, in expressions:

+

!

+

indicates that the token following this symbol is optional (may be omitted)

+

n

+

a positive integer or value, may be left absent to signify an unbounded value

+

i

+

a positive integer

+
+

3.2.5 

Designator symbols

These symbols are used to represent designators in the date and time expressions:

+

"H"

+

the hour designator, represented by the character "H", preceding a data element which represents the number of hours

+

"M"

+

the month or minute designator, represented by the character "M", preceding a data element which represents the number of months or minutes

+

"P"

+

the duration designator, represented by the character "P", preceding the component which represents the duration

+

"S"

+

the second designator, represented by the character "S", preceding a data element which represents the number of seconds

+

"T"

+

the time designator, represented by character "T", indicates:

+
    +
  • +

    the start of the representation of local time of day to designate local time of day expressions as such,

    +
  • +
  • +

    the start of the representation of the time of day in date and time of day expressions,

    +
  • +
  • +

    the start of the representation of the number of hours, minutes or seconds in expressions of duration

    +
  • +
+

"Y"

+

the year designator, represented by the character "Y", preceding a data element which represents the number of years

+

"U"

+

the decade designator, represented by the character "U", preceding a data element which represents the number of decades

+

"W"

+

the week designator, represented by the character "W", preceding a data element which represents the ordinal number of a calendar week within the calendar year

+

"K"

+

the calendar day of week designator, represented by the character "K", preceding a data element which represents the ordinal number of a calendar day within a calendar week

+

"O"

+

the calendar day of year designator, represented by the character "O", preceding a data element which represents the ordinal number of a calendar day within a calendar year

+

"Z"

+

the UTC designator, represented by the character "Z", added to the end of a time representation to indicate that a time of day is represented as UTC of day.

+

"G"

+

the grouping designator, represented by the character "G", indicates a grouping calculation applies to the time scale component

+
"x"
+

the representation of any character "x" as according to the textual representation of "x" in the 646 repertoire

+
+

3.2.6 

Separator symbols

In date and time expressions and date and time representations, the following characters are used as separators.

+

"/" (solidus)

+

the "/" solidus character separates start and end times in the representation of a time interval, as well as the symbol 'R' from the remainder of a recurring time interval representation. A solidus may be replaced with a double hyphen ["--"] by mutual agreement of the communicating partners.

+

"." (period) and "," (comma)

+

the "." period and "," comma characters are decimal signs used to separate the integer part from the decimal fraction of a number.

+
+
+

4.  Time scale components and units

+

4.1. General

+ +

The explicit forms of time scale units are represented in this clause.

+
+

4.2. Calendar year and years duration

The calendar year and years duration is represented as follows:

+

[!]["-"][i]["Y"]

+
EXAMPLE 1 +

'12Y', duration, twelve years

+
+
EXAMPLE 2 +

'-12Y', date, twelve years before year 0

+
+

4.3. Calendar month and months duration

The calendar month and months duration is represented as follows:

+

[i]["M"]

+
EXAMPLE +

'8M', 8 months

+
+

4.4. Calendar week number and weeks duration

The calendar week of year number and weeks duration is represented as +follows:

+

[!]["-"][i]["W"]

+
EXAMPLE 1 +

'10W', duration, ten weeks

+
+
EXAMPLE 2 +

'-10W', negative duration, the tenth last week of the year

+
+

When a negative calendar week of year represents a date, the negative +value is to represent the number of weeks counting in reverse from the +end of the calendar year, where the last week of the year is +represented by the integer value '-1'.

+

4.5. Calendar day of month and days duration

The calendar day of month and days duration is represented as follows:

+

[i]["D"]

+
EXAMPLE +

'25D', 25 days

+
+

When a negative calendar day of month represents a date, the negative +value is to represent the number of days counting in reverse from the +end of the calendar month, where the last day of the month is +represented by the integer value '-1'.

+

4.6. Calendar day of week

The calendar day of week is represented as the following time scale component:

+

[i]["K"]

+
EXAMPLE +

'1K' (calendar day of week Monday)

+
+

4.7. Calendar day of year

The calendar day of year is represented as the following time scale component:

+

[i]["O"]

+
EXAMPLE +

'350O' (ordinal day 350 of the calendar year)

+
+

When a negative calendar day of year represents a date, the negative +value is to represent the number of days counting in reverse from the +end of the calendar year, where the last day of the year is represented +by the integer value '-1'.

+

4.8. Clock hour and hours duration

Clock hour and hours duration is represented as follows:

+

[i]["H"]

+
EXAMPLE +

'6H' (six hours)

+
+

4.9. Clock minute and minutes duration

Clock minute and minutes duration is represented as follows:

+

[i]["M"]

+
EXAMPLE +

'30M' (30 minutes)

+
+

4.10. Clock second and seconds duration

Clock second and seconds duration is represented as follows:

+

[i]["S"]

+
EXAMPLE +

'30S' (30 seconds)

+
+

When a negative clock second represents a time, the negative value is +to represent the number of seconds counting in reverse from the end of +the clock minute, where the last second of the minute is represented by +the integer value '-1'.

+

4.11. Decade

The decade is represented as the following time scale component:

+

[i]["U"]

+
EXAMPLE +

'196U' (the 1960s)

+
+

4.12. Century

The century is represented as the following time scale component:

+

[i]["C"]

+
EXAMPLE +

'19C' (the 1900s)

+
+

4.13. Time shift

A time shift, often used in the representation of local standard time +against UTC, is represented as follows. This representation is denoted +as [shiftE].

+

["Z"][!]["-"][timeE]

+
EXAMPLE 1 +

'Z-05H'

+
+
EXAMPLE 2 +

'Z05H00M'

+
+
EXAMPLE 3 +

'Z05H30M10S'

+
+
EXAMPLE 4 +

'Z'

+
+

A single ["Z"] with the [timeE] portion empty indicates that there is +no time shift from UTC of day and is functionally equivalent to the +representation [Z00H00M].

+

The time shift shall be expressed as positive (i.e. with the leading +plus sign ["+"]) if it is ahead of or equal to UTC, and as negative +(i.e. with the leading minus sign ["-"]) if it is behind UTC.

+

4.14. Value restrictions

4.14.1. Negative values

+ +

Certain time scale components are allowed to accept a negative integer +as their value in [i].

+
+

4.14.2. Leading zeros

Leading zeros in an explicit form date time representation shall be omitted.

+
EXAMPLE +

The calendar month January is expressed as '1M', not '01M'.

+
+

4.14.3. Omission of zero valued components

Time scale components within an explicit form that has a value of '0' +may be omitted entirely with its corresponding designator.

+
EXAMPLE +

The date 1985 April 15th 3pm can be identically represented by +'1985Y4Y15DT15H' and '1985Y4Y15DT15H0M0S'.

+
+
+
+

5.  Grouping of time scale units

+

A time scale unit, expressed as an explicit time scale component value, +can be divided with the following syntax replacing the time scale +component value:

+

["G"][duration][i]["I"][symbol(c)]

+

Where,

+
    +
  • +

    ["G"], the grouping designator, indicates that this time scale +component is to be grouped;

    +
  • +
  • +

    [duration], a time scale component indicating the time interval of +the grouping unit;

    +
    EXAMPLE 1 +

    The duration of 'P6D' indicates the grouping is a 6-day block, 'P2M10D' +indicates the grouping is a block of 2 months and 10 days.

    +
    +
  • +
  • +

    ["I"] indicates that the subsequent number identifies an instance in +the grouped time interval; and

    +
  • +
  • +

    [i] indicates that the current selection points to the i-th group.

    +
  • +
+ + + + + +
EXAMPLE 2 +

'2018YGP6M1IM' is a reduced precision date representations of monthly +precision that indicates "the first half of 2018", as specified by the +rule "group every 6 months, first group", and therefore the grouping is +specified in the [month] field. The resulting time interval is +equivalent to the time interval expression '2018Y1M1D/2018Y6M30D'.

+
+ + + + + +
EXAMPLE 3 +

'2018Y02MGP14D2ID' is a complete date representations that indicates +"the second fortnight of February 2018", as specified by the rule +"group every 14 days, second group".

+
+ + + + + +
EXAMPLE 4 +

'2018Y03MGP10D3ID' is a complete date representation that indicates +"the third 10-day block of March in 2018", as specified by the rule +"group every 10 days, third group". A 10-day block is a time grouping +commonly used in East Asia.

+
+ + + + + +
EXAMPLE 5 +

'T16HGPT15M1I0S' is a complete time representation that indicates "the +first quarter-hour of 16:00", as specified by the rule "group every 15 +minutes, first group".

+
+
+
+

6.  Date and time representations

+

6.1. General

This section provides date and time representations using explicit form.

+

6.1.1. Omission of time scale components

Rules specified in Clause 4.14 applies to all representations +described in this clause.

+

If a time scale component of a higher order (compared to the lowest +order component specified in the representation) is omitted, it is +assumed to have the value "0" as long as the time scale component +accepts the value "0".

+

6.1.2. Indication of precision

The lowest denoted time scale component in a date and time representation +indicates the precision level of the representation.

+
EXAMPLE 1 +

'1985Y4M' has calendar month precision.

+
+
EXAMPLE 2 +

'1985Y4M12DT2H' has clock hour precision.

+
+
EXAMPLE 3 +

'1985Y4M12DT30M' has clock minute precision, where the clock hour time +scale component is a zero-valued omission.

+
+

6.2. Date

+ +
+

6.3. General

The representations provided in this clause are collectively denoted as [dateE].

+

6.3.1. Calendar date

The complete representation of a calendar date shall be as follows.

+

[yearE][monthE][dayE]

+
EXAMPLE +

'1985Y4M12D'

+
+

6.3.2. Ordinal date

A complete representation of an ordinal date shall be as follows.

+

[yearE][dayoE]

+
EXAMPLE +

'1985Y102O'

+
+

6.3.3. Week date

A complete representation of a week date shall be as follows.

+

[yearE][weekE][daykE]

+
EXAMPLE +

'1985Y15W5K'

+
+

6.4. Time of day

6.4.1. Local time of day

Representations of local time of day as defined below make no +provisions to prevent ambiguities in expressions that result from +discontinuities in the local time scale (e.g. daylight-saving time). +When the need arises to prevent these ambiguities, the representations +provided in local-time-shift may serve useful.

+

A complete representation of local time of day shall be as follows. +This representation shall be denoted as [timeE].

+

["T"][hourE][minE][secE]

+
EXAMPLE +

'T23H20M50S'

+
+

6.4.2. Beginning of the day

The complete representation of beginning of day in explicit form shall +be as follows.

+

T0H0M0S

+

Applying the rule of omitting zero-valued time scale components, it can also +be represented as:

+

T0H

+

There is no representation of end of day for information interchange to prevent +ambiguity of the overlapping end of day and the beginning of the next day.

+

6.4.3. Time of day with time shift

[timeE][shiftE]

+
EXAMPLE 1 +

'T23H20M50SZ' UTC.

+
+
EXAMPLE 2 +

'T23H20M50SZ-5H0M' 5 hours behind UTC.

+
+
EXAMPLE 3 +

'T23H20M50SZ+8H' 8 hours ahead of UTC.

+
+

6.5. Date and time of day

A time can be expressed by combining a date expression (Clause 6.2) +with a time of day expression (Clause 6.4).

+

The date part of a date and time expression must be complete. The time +may be incomplete (see time-of-day-reduced-precision).

+

The representations provided in this clause are collectively denoted as +[datetimeE].

+

6.5.1. Date and time only

The complete representation for date and time only is as follows.

+

[dateE][timeE]

+
EXAMPLE +

'1985Y4M12DT23H20M30S'

+
+

6.5.2. Date with shift

The complete representation for date with a time shift is as follows.

+

[dateE][shiftE]

+
EXAMPLE +

'1985Y4M12DZ-5H'

+
+

6.5.3. Date and time with shift

The complete representation for date with time and a time shift is as follows.

+

[dateE][timeE][shiftE]

+
EXAMPLE +

'1985Y4M12DT23H20M30SZ+8H'

+
+

6.6. Time interval

6.6.1. General

A time interval shall be expressed by a start and an end date. +A solidus ["/"] is used as a separator to separate the two start and +end dates.

+

The representation of a time interval is defined as follows.

+

[datetimeE]["/"][datetimeE]

+
EXAMPLE +

'1985Y4M12DT23H20M50S/1985Y6M25DT10H30M0S', time interval beginning at +20 minutes and 50 seconds past 23 hours on 12 April 1985 local time of +day and ending at 30 minutes past 10 hours on 25 June 1985 local time +of day.

+
+

6.6.2. Duration substitution

Providing a duration as an alternative to either a start or end date is +acceptable, given the start and end dates can be inferred from the given +duration of the time interval.

+
EXAMPLE +

'1985Y4M12DT23H20M50S/P3D'

+
+

6.6.3. Time scale component order

For expression of a time interval by a start and an end, higher order +time scale components may be omitted from the "end of time interval", +provided that the resulting expression is unambiguous. In this case the +omitted higher order components from the "start of time interval" +expression apply.

+
EXAMPLE +

'2018Y1M15D/2M20D' represents '2018Y1M15D/2018Y2M20D' as the expression +'2M20D' unambiguously refers to the calendar month and calendar day +components, and the higher order components can be inherited from the +start date expression.

+
+

6.6.4. Time shift indication

Representations for time zones and UTC included with the component +preceding the separator shall be assumed to apply to the component +following the separator, unless a corresponding alternative is included.

+
EXAMPLE +

'2018Y1M15DZ5Y0M/2018Y2M20D' is equivalent to +'2018Y1M15DZ5Y0M/2018Y2M20DZ5Y0M' as the 'Z5H0M' time shift also +applies to the expression after the separator.

+
+

6.7. Duration

6.7.1. General

Duration can be expressed by a combination of units — years, months, +weeks, days, hours, minutes, and seconds in explicit form.

+

A duration expression shall begin with ["P"]. Time scale components of +higher order shall be expressed before those of lower order.

+

["P"][!]["-"][duration-units]

+

Where,

+
    +
  • +

    [duration-units] contains time scale components for expressing +positive duration as specified in Clause 4

    +
  • +
+
EXAMPLE 1 +

'P3D', duration of three days.

+
+
EXAMPLE 2 +

'P3W2D', duration of three weeks and two days, which is 23 days, as +equivalent to the expression of 'P23D'.

+
+
EXAMPLE 3 +

'P180Y800D', duration of one-hundred-and-eighty years and eight-hundred days.

+
+

6.7.2. Negative duration

A duration with a negative value represents a duration in the reverse +direction of the proceeding time scale.

+
EXAMPLE 1 +

'P-20Y3M', a negative duration, meaning twenty years and three months ago.

+
+

NOTE  The exact duration for some time scale components can only be +known when placed in context, i.e. the actual time scale.

+
EXAMPLE 2 +

'P1Y2M15DT12H30M0S', duration of 1 year, 2 months, 15 days, 12 hours +and 30 minutes. The actual duration of the involved calendar months can +only be known when the duration is placed on an actual start date.

+
+
+
+
+

Bibliography

+

[1]  646, Information technology -- ISO 7-bit coded character set for information interchange

+

[2]  80000-1, Quantities and units -- Part 1: General

+

[3]  80000-3, Quantities and units -- Part 3: Space and time

+

[4]  ISO 8601-1, Date and time — Representation for information interchange — Part 1: Basic rules

+

[5]  ISO 8601-2, Date and time — Representation for information interchange — Part 2: Extensions

+

[6]  IEC Electropedia, + IEC Electropedia +

+
+
+ + + + + + + + + + + + From 64f892420797b4e93d7713b6405aba85a35f9950 Mon Sep 17 00:00:00 2001 From: Ronald Tse Date: Tue, 12 May 2026 06:53:55 +0800 Subject: [PATCH 2/2] ci: retrigger CI with fixed shared workflow