Internet-Draft: draft-kunze-temper-01.txt                       J. Kunze
TEMPER Date Format                              University of California
Expires 1 February 2008                                         C. Blair
                                                   University of Chicago
                                                           1 August 2007


                  Temporal Enumerated Ranges (TEMPER)

    (http://www.ietf.org/internet-drafts/draft-kunze-temper-01.txt)

Status of this Document

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   Distribution of this document is unlimited.  Please send comments to
   jak at ucop dot edu.

   Copyright (C) The IETF Trust (2007).  All Rights Reserved.

Abstract
   TEMPER (TEMPoral Enumerated Ranges) is a simple date and time syntax
   for representing points, lists, and ranges of timestamps.  The syntax
   is designed to be trivial to parse, easy for humans to read, and
   friendly to basic lexical sorting algorithms.  Examples:










J. Kunze                                                        [Page 1]


Internet Draft             TEMPER Date Format                August 2007


         BCE1212
         bce0551
         1850~
         1952, 1958-1967, 1975
         19990916_Z
         19990916145903_z
         20070401















































J. Kunze                                                        [Page 2]


Internet Draft             TEMPER Date Format                August 2007


1.  TEMPER Points

   A TEMPER point is a string of characters representing a single date
   or a combination of a date and a time.  Sometimes a point is called a
   timestamp.  Here are some examples of TEMPER points.

      0384                 The year 384.
      1999                 The year 1999.
      19990916145903       3rd second past 2:59 PM, 16 September 1999.
      19990916145903_z     The same time, but in UTC time.
      1999091614590312     12 seconds later, no specified time zone.
      20041201             December 1st in the year 2004.

   There are five different lengths of basic TEMPER points:

      CCYY                 4-digit year, with CC for 2-digit century
      CCYYMMDD             8-digit year-month-day
      CCYYMMDDhh           10-digit year-month-day-hour
      CCYYMMDDhhmm         12-digit year-month-day-hour-minute
      CCYYMMDDhhmmss       14-digit form with hour-minute-second

   TEMPER points of 15 digits or more indicate fractions of seconds:

      1999091614590312     No fractional seconds.
      1999091614590312986  986 milliseconds later.

   As a special case, to specify just a year and month without naming a
   day in the month, give DD as 00:

      CCYYMM00             8-digit year-month, but no day specified

   For example,

      20070500             The month of May in the year 2007.

   A 6-digit form is reserved for a downgraded TEMPER idiom that
   expresses a year-month-day with only a 2-digit year (i.e., the
   2-digit century is missing):

      YYMMDD               6-digit year-month-day (not recommended)

   6-digit points are not recommended because they will not sort
   correctly unless all the other dates (a) are 6-digit TEMPER points
   and (b) have the same implicit century.

1.1.  TEMPER Zones

   The basic TEMPER point may optionally be followed by an '_'
   (underscore) and a zone indicator of either 4 digits or 1-3 digits:





J. Kunze                    1.1. TEMPER Zones                   [Page 3]


Internet Draft             TEMPER Date Format                August 2007


      19990916145903_0000    Greenwich Mean Time (GMT).
      19990916145903_GMT     Greenwich Mean Time (GMT).
      19990916145903_0100    One hour WEST of GMT.
      19990916145903_2300    One hour east of GMT.
      19990916145903_PST     US Pacific Standard time.
      19990916145903_edt     US Eastern Daylight time.
      19990916145903_EDT     US Eastern Daylight time.
      19990916145903_z       UTC (Coordinated Universal Time).

   In the absence of a zone indicator, TEMPER does not define a default.

1.2.  Approximate and Uncertain Points

   Any TEMPER point followed by a `~' (tilde) is interpreted as an
   approximate point, indicating ambiguity or fuzziness in the point.
   Because the tilde follows the TEMPER point, approximate and precise
   dates will be placed together by normal sorting software.  There is
   currently no way in TEMPER to express the confidence level or the
   extent of variation (plus or minus values).  Examples:

      1066~                Circa the year 1066.
      20020800~            August 2002 or thereabouts.
      19781201020000~      Around 2 AM on December 1st, 1978.

   TEMPER reserves the '?' for expressing uncertain points; the details
   of uncertain points are under construction.

1.3.  Non-Gregorian Calendars

   A TEMPER point may be preceded by the three letters "BCE" for "Before
   Common Era" dates.  These three ASCII letters express (with no case
   sensitivity) "negative" dates, namely, dates that are chronologically
   less than the year 0000.  Examples:

      BCE1212              Death of Rameses the Great.
      bce0551              Birth of Confucius.

   Note that BCE dates inherently sort in reverse order.  But because
   "BCE" appears first in TEMPER dates, naive sorting software (e.g.,
   Unix "sort" command with no arguments) first places all BCE dates
   together as a group, after which the simple intervention of reversing
   the order of the group achieves correct chronological order.

   TEMPER reserves all 3-letter (alphabetic) prefixes for future use to
   indicate Hebrew, Chinese, Islamic, and other calendars; these are
   under construction.  Although naive sorting will not work between
   calendars, use of prefixes will cause sorting to work on groups of
   dates that use the same calendar.  The prefix "IBA" (from Tagalog) is
   defined to mean "other unspecified", as in,





J. Kunze              1.3. Non-Gregorian Calendars              [Page 4]


Internet Draft             TEMPER Date Format                August 2007


      IBA 28 May, 2004


2.  TEMPER Ranges and Lists

   A TEMPER range is a start point and an end point separated by a
   hyphen.

      1996-2000               A range of four years.
      2004-                   The year 2004 and later.

   A missing start or end point indicates an open-ended range.  In
   general, a missing start point is strongly discouraged because it
   disturbs sorting among records from other sources, e.g., shifting a
   modern date range so that it appears near prehistoric dates; usually,
   it works better at least to approximate the start point.

      1860~-1872              Around 1860 and up to 1872.


   A TEMPER list is one or more points and ranges separated by commas.
   Every point in a list must have the same number of digits; e.g., a
   14-digit point and a 4-digit range end point cannot occur in a valid
   TEMPER list.  Points and ranges in a list may occur in any order.
   Here are some examples of lists.

      1952, 1957, 1969        A list of three years.
      1952, 1958-1967, 1985   A mixed list of dates and ranges.


3.  Security considerations

   The TEMPER syntax poses no direct risk to computers and networks.
   Implementors should always exercise care when receiving data that may
   be private or maliciously intended.  These are normal risks to which
   TEMPER is no more vulnerable than most other syntaxes.

4.  Authors' Addresses

   John A. Kunze
   California Digital Library
   University of California, Office of the President
   415 20th St, 4th Floor
   Oakland, CA  94612-3550, USA

   Fax:   +1 510-893-5212
   EMail: jak@ucop.edu

   Charles Blair
   Digital Library Development Center
   University of Chicago Library



J. Kunze                  4. Authors' Addresses                 [Page 5]


Internet Draft             TEMPER Date Format                August 2007


   1100 E. 57th St., JRL 220P
   Chicago, IL  60637, USA

   Fax:   +1 773-702-6623
   EMail: chas@uchicago.edu

5.  Informative References

   [ISO8601]  ISO, "Data elements and interchange formats -- Information
              interchange -- Representation of dates and times",
              December 2004.


6.  Copyright Notice

   Copyright (C) The IETF Trust (2007).  This document is subject to the
   rights, licenses and restrictions contained in BCP 78, and except as
   set forth therein, the authors retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Expires 1 February 2008


























J. Kunze                   6. Copyright Notice                  [Page 6]


Internet Draft             TEMPER Date Format                August 2007


                           Table of Contents


Status of this Document  . . . . . . . . . . . . . . . . . . . . . .   1
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
1.  TEMPER Points  . . . . . . . . . . . . . . . . . . . . . . . . .   3
1.1.  TEMPER Zones . . . . . . . . . . . . . . . . . . . . . . . . .   3
1.2.  Approximate and Uncertain Points . . . . . . . . . . . . . . .   4
1.3.  Non-Gregorian Calendars  . . . . . . . . . . . . . . . . . . .   4
2.  TEMPER Ranges and Lists  . . . . . . . . . . . . . . . . . . . .   5
3.  Security considerations  . . . . . . . . . . . . . . . . . . . .   5
4.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .   5
5.  Informative References . . . . . . . . . . . . . . . . . . . . .   6
6.  Copyright Notice . . . . . . . . . . . . . . . . . . . . . . . .   6








































J. Kunze                   6. Copyright Notice                  [Page 2]