Understanding iso 8601 date and time representation formats
Download
1 / 29

Understanding ISO 8601 date and time representation formats - PowerPoint PPT Presentation


  • 274 Views
  • Updated On :

Understanding ISO 8601 date and time representation formats. Tex Texin [email protected] XenCraft. Objectives for this session. ISO 8601:1988 is updated in 2000. What is in ISO 8601:2000? Are there potential pitfalls in using ISO 8601, especially for internationalization?

Related searches for Understanding ISO 8601 date and time representation formats

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Understanding ISO 8601 date and time representation formats' - thi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Objectives for this session l.jpg
Objectives for this session

  • ISO 8601:1988 is updated in 2000.

  • What is in ISO 8601:2000?

  • Are there potential pitfalls in using ISO 8601, especially for internationalization?

  • If so, are there workarounds?


Agenda l.jpg
Agenda

Brief Overview of ISO 8601

Problem Areas

Solutions


Iso 8601 2000 overview l.jpg
ISO 8601:2000 Overview

  • Dates

    • Calendar dates

    • Ordinal dates

    • Week dates

  • Time of day

    • Local vs. Coordinated Universal Time (UTC)

    • Combined date and time

  • Time-intervals

    • Recurring time-intervals


Representing dates times durations and intervals l.jpg
Representing dates, times, durations and intervals

  • Uses character representation

    • ISO/IEC 646 (ASCII), no spaces

  • Separators (Extended Format)

    • Hyphens, Colons, Solidus, Number sign

  • Truncation

    • Omission of higher order components

  • Reduced Precision

    • Omission of lower order components

  • Expansion- years < 0 or years > 9999

  • Fixed length fields using leading zeros


Representing dates times durations and intervals6 l.jpg
Representing dates, times, durations and intervals

  • Designators

    • “P” is time-interval designator

    • “R” is recurring time-interval designator

    • “T” indicates start of Time elements

    • “W” is week designator

    • “Z” is UTC designator

  • Duration designators

    • Y, M, W, D, H, M, S may be used

    • M can be minute, month, or both


Calendar dates l.jpg
Calendar Dates

  • Gregorian calendar

    • 1875 is reference point

    • Common (365) and Leap (366) years

    • Leap is every 4th year except centennial years that are not integrally divisible by 400

    • Gregorian is used even for years < 1582 (by mutual agreement).

    • Year 0000 is leap.


Calendar week l.jpg
Calendar week

  • Monday is day 1, Sunday is day 7.

  • Weeks are numbered 1- 52 or 1 - 53.

  • Week 1 includes the first Thursday of year.

    • Alternatively, Week 1 includes Jan 4.

  • Week 1 may include 3 days of last year.

    • Last week may include 3 days of next year.


Representing dates l.jpg
Representing dates

  • Calendar date

    • year, month, day number within month

  • Ordinal date

    • year, day number within year

  • Week date

    • year, week, number within week



Iso 8601 2000 overview11 l.jpg
ISO 8601:2000 Overview

  • Dates

    • Calendar dates

    • Ordinal dates

    • Week dates

  • Time of day

    • Local vs. Universal Time Coordinated (UTC)

    • Combined data and time

  • Time-intervals

    • Recurring time-intervals


Representing times l.jpg
Representing times

  • Hours 00-24 (allowing midnight-midnight)

  • Minutes 00-59

  • Seconds 00-60 (allowing leap seconds)

  • Decimal fractions of hour, minute, second

  • Local and Universal (UTC) time



Combined date and time l.jpg
Combined date and time

  • “T” indicates start of time

  • Mix and match as needed:

    Calendar dates + local time

    YYYY-MM-DDThh:mm

    Ordinal dates + UTC time

    YYYY-DDDThh:mmZ

    Week dates + offset from UTC

    YYYYWwwDThh:mm±hhmm


Iso 8601 2000 overview15 l.jpg
ISO 8601:2000 Overview

  • Dates

    • Calendar dates

    • Ordinal dates

    • Week dates

  • Time of day

    • Local vs. Universal Time Coordinated (UTC)

    • Combined data and time

  • Time-intervals

    • Recurring time-intervals


Representing time intervals l.jpg
Representing time-intervals

  • “P” indicates a duration (period)

  • Intervals come in 4 varieties:

    • start and end times

      YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss

    • durations

      PnYnMnDTnHnMnS

      P2Y10M15DT10H30M20S

      2 Yr, 10 mon, 15 days, 10 hrs. 30 min. 20 sec.

      P6W is a duration of 6 weeks.


Representing time intervals17 l.jpg
Representing time-intervals

  • The remaining 2 varieties

    • start time and duration

      YYYY-MM-DDThh:mm:ss/PnYnMnDTnHnMnS or

      YYYY-MM-DDThh:mm:ss/PYYYY-MM-DDThh:mm:ss

      1985-04-12T23:20:50/P0001-02-15T12:30:00

    • duration and end time

      PnYnMnDTnHnMnS/YYYY-MM-DDThh:mm:ss or

      PYYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss


Recurring time intervals l.jpg
Recurring time-intervals

  • Recurring time intervals are expressed by:

    • # of recurrences and start and end times

    • # of recurrences and a duration

    • # of recurrences & start time & a duration

    • # of recurrences & duration & end time

  • If # of recurrences is not provided, then the number is unbounded

  • “R” is used to indicate recurrence


Examples of recurring time intervals l.jpg
Examples of recurring time-intervals

Recurring with Start and End Times:

Rn/YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss

R12/1985-04-12T23:20:50/1985-06-25T10:30:00

Recurring with a duration:

Rn/PnYnMnDTnHnMnS

R12/P2Y10M15DT10H20M20S

Recurring with a Start Time and duration:

Rn/YYYY-MM-DDThh:mm:ss/PnYnMnDTnHnMnS

R12/1985-04-12T23:20:50/P2Y2M15DT12H30M0S


Benefits of iso 8601 l.jpg
Benefits of ISO 8601

  • Human-readable

  • Easy to use

  • Easy to parse, unambiguous

  • Easy to sort

  • Many date-time schemes exist, a standard is needed


Agenda21 l.jpg
Agenda

Brief Overview of ISO 8601

Problem Areas

Solutions


Ambiguities l.jpg
Ambiguities

  • Future leap seconds are unpredictable

    Is 2010-03-31T23:59:60Z valid?

  • Year, month, minute have varying sizes

    P1M = P28D or P29D or P30D or P31D

  • Mismatched precision

    1985W50 <= 1985W501?

  • Truncation opens the door for Y2K issues

  • Variations of 8601 exist in practice

    • Julian, Gregorian, Emperor...


Ambiguities23 l.jpg
Ambiguities

  • Date arithmetic is not defined

    2001-03-30 + P1M = 2001-04-29 (Add 30 days)

    2001-03-30 + P1M = 2001-04-30 (Add 1 mon.)

  • Addition is not commutative or associative

    2001-03-30 + P1D + P1M = 2001-04-30

    2001-03-30 + P1M + P1D = 2001-05-01

  • Subtraction is not the inverse of Addition

  • Precision of decimal fractions can vary


Conversions l.jpg
Conversions

  • Gregorian calendar adopted at different times around the world

  • Most calendars do not include year 0.

  • 8601 extends leap years into the past, other calendars do not.

  • Dates without times are often not qualified by time zone.

    • Time zones (currently) go from -13 to +12

    • So the date could be +/- 1 day


Conversions25 l.jpg
Conversions

  • Laws determining daylight savings time change continually

  • Difficult to know local time offsets.


Agenda26 l.jpg
Agenda

Brief Overview of ISO 8601

Problem Areas

Solutions


Solutions l.jpg
Solutions

  • Mutual Agreements

  • Referencing other standards and implementations

    • e.g. Java

  • Standards employing 8601 may need to introduce rules or constraints

    • e.g. XML Schema

  • Restrict use of 8601 formats


Acknowledgements l.jpg

Mark Davis (IBM)

www.macchiato.com/unicode/timeIntervals.htm

W3C Internationalization working and interest groups

Resources

ISO’s web page to order the standard: http://www.iso.ch/cate/d26780.html

Mail list: [email protected]

Links:

groups.yahoo.com/group/ISO8601/files/pdf_link.htm

http://aa.usno.navy.mil/faq/docs/UT.html

Acknowledgements



ad