[Python-Dev] datetime module enhancements
Georg Brandl
g.brandl at gmx.net
Sat Mar 10 00:14:03 CET 2007
Robert Brewer schrieb:
> Brett Cannon wrote:
>> On 3/9/07, Collin Winter <collinw at gmail.com> wrote:
>> > On the subject of datetime enhancements, I came across an SF patch
>> > (#1673403) the other day that proposed making it possible to compare
>> > date and datetime objects...
>>
>> I personally like the current solution. The proposal to just assume
>> midnight goes against EIBTI in my mind.
>
> Yeah, but the current solution goes against, um, APBP*. Not in my mind,
> but in my code. Repeatedly. I can't count how many times I've written
> code like:
>
> if created > fdate:
>
> when I "should" have written:
>
> if isinstance(created, datetime.date):
> date_version_of_created = created
> else:
> date_version_of_created = created.date()
> if date_version_of_created > fdate:
>
> But it gets better, because:
>
> >>> isinstance(datetime.datetime(x, y, z), datetime.date)
> True
>
> So the above won't work, you must remember to reverse the if/else:
>
> if isinstance(created, datetime.datetime):
> date_version_of_created = created.date()
> else:
> date_version_of_created = created
> if date_version_of_created > fdate:
Why not just give date objects a date() method that returns self?
That way you can write
if created.date() > fdate:
Georg
More information about the Python-Dev
mailing list