comparing datetime with date
Peter Hansen
peter at engcorp.com
Tue Sep 14 16:24:02 EDT 2004
Diez B. Roggisch wrote:
> Donnal Walter wrote:
>>How can these two objects be considered equal? Is there a *general* way
>>to test for date != datetime as well as 4.5 != 4.6?
>
> Try making a datetime-object from your date, with zeros for the time part -
> then you'll get what you want.
While trying to provide my first answer, I thought of suggesting
this, but there doesn't appear to be a simple way of doing it.
It looked like the following was the best I could do (where 'x'
is a datetime.date object):
z = datetime.datetime(x.year, x.month, x.day)
I just found timetuple(), which means this could be written
in the awful form:
z = datetime.datetime(*x.timetuple()[:3])
but that's hardly better, and definitely more inscrutable.
To answer Donnal's question above, however, it appears this
might be a reasonable approach:
>>> x.timetuple() == y.timetuple()
False
Not sure there's a better approach readily available.
-Peter
More information about the Python-list
mailing list