[Python-Dev] Comparing date+time w/ just time

skip@pobox.com skip at pobox.com
Sat Oct 22 13:48:17 CEST 2005


With significant input from Fred I made some changes to xmlrpclib a couple
months ago to better integrate datetime objects into xmlrpclib.  That raised
some problems because I neglected to add support for comparing datetime
objects with xmlrpclib.DateTime objects.  (The problem showed up in
MoinMoin.)  I've been working on that recently (adding rich comparison
methods to DateTime while retaining __cmp__ for backward compatibility), and
have second thoughts about one of the original changes.

I tried to support datetime, date and time objects.  My problems are with
support for time objects.  Marshalling datetimes as xmlrpclib.DateTime
objects is no problem (though you lose fractions of a second).  Marshalling
dates is reasonable if you treat the time as 00:00:00.  I decided to marshal
datetime.time objects by fixing the day portion of the xmlrpclib.DateTime
object as today's date.  That's the suspect part.

When I went back recently to add better comparison support, I decided to
compare xmlrpclib.DateTime objects with time objects by simply comparing the
HH:MM:SS part of the DateTime with the time object.  That's making me a bit
queazy now.  datetime.time(hour=23) would compare equal to any DateTime with
its time equal to 11PM.  Under the rule, "in the face of ambiguity, refuse
the temptation to guess", I'm inclined to dump support for marshalling and
comparison of time objects altogether.  Do others agree that was a bad idea?

Thx,

Skip


More information about the Python-Dev mailing list