Message 109148 - Python tracker (original) (raw)

Alexander Belopolsky wrote:

Alexander Belopolsky <belopolsky@users.sourceforge.net> added the comment:

On Fri, Jul 2, 2010 at 6:00 PM, Tim Peters <report@bugs.python.org> wrote:

Tim Peters <tim.peters@gmail.com> added the comment:

Do you remember why it was a good idea to derive datetime from date?

Why not? A datetime is a date, but with additional behavior. Makes inheritance conceptually natural.

It is also time with additional behavior. In the face of ambiguity ...

Why not? See issue #5516. Most of datetime comparison code is devoted to fighting inheritance from date. There is hardly any non-trivial method that benefits from this inheritance.

To me, conceptually, datetime is a container of date, time and optionally time zone, it is not a date.

Just an aside:

Conceptually, you don't need date and time, only an object to reference a point in time and another one to describe the difference between two points in time. In mxDateTime I called them DateTime and DateTimeDelta.

What we commonly refer to as date is really the combination of a DateTime value pointing to the start of the day together with a DateTimeDelta value representing one full turn of the Earth.

That said, I don't think redesigning the datetime module is part of this ticket, just adding a second implementation of what we already have in CPython :-)