[DB-SIG] Date-time types

Jim Fulton jim.fulton@digicool.com
Wed, 10 Dec 1997 11:45:26 -0500


I'm one of those folks who, while interested in the work of 
this SIG, do not have as much time as they would like to 
participate.

Rather than wading directly into the lengthy discussions 
on date-time representations, I'll just state a few opinions
and make a proposal that is somewhat different from the 
proposals made here and from statements I made in an earlier 
discussions.

It was nearly a year and a half ago that I made a proposal 
for a standard Python date-time format.  There was significant
discussion back then.  The discussion ranged over a wide range 
of topics, much as the current discussion has and the various
ideas were so expansive that I gave up trying to formulate
a coherent response to them.  In retrospect, this was partly
my fault, as my initial proposal contained controversial and
rather expansive components, like super-generic date-to-string
conversion.

I have now come to the view that a much simpler approach is 
needed.  I also think it would be inadvisable for us to develop
a database date-time specification from scratch when others have
already developed reasonable standard specs.  

Digital Creations has an object-oriented database that we plan, 
over time, to migrate toward ODMG standard compliance.  The ODMG
standard specifies a set of date-time data types:

  - Date,
  - Time (of day),
  - TimeStamp (a combination of a date and time), and
  - Interval

I believe that these data types are based on some wider/parallel
standards (e.g. SQL x), but I can't provide pointers to the 
related standard.  They are very similar to some structures 
defined in ODBC.

Unfortunately, the ODMG standard does not seem to be available 
on-line.  I will, *within the next 7 days*, type up a Python 
skeletin (and maybe a complete implementation) for the ODMG data 
types listed above and share it with this list.  I think that
when you see these interfaces, you will agree that they
provide a reasonable minimal set of functionality that is 
adequate for data exchange with external systems and to 
support applications that can build higher-level date-time 
support.

Digital Creations plans eventually to develop and make available
both Python- and C-based implementation of the above types to 
support our database/persistence offerings.  We have not
decided when to do this, but if you all like these interfaces, then
I would accelerate the development schedule.

I think that a standard Python date-time type would be a good thing.
I think that ultimately, the date-time types should be implemented
in C and included in the Python distribution to facilitate data
exchange with external systems.

Jim

-- 
Jim Fulton           mailto:jim@digicool.com
Technical Director   (888) 344-4332             Python Powered!
Digital Creations    http://www.digicool.com    http://www.python.org

_______________
DB-SIG  - SIG on Tabular Databases in Python

send messages to: db-sig@python.org
administrivia to: db-sig-request@python.org
_______________