Brett Cannon wrote:
> On 3/9/07, Collin Winter <[EMAIL PROTECTED]> 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,
        date_version_of_created = created
        date_version_of_created =
    if date_version_of_created > fdate:

But it gets better, because:

    >>> isinstance(datetime.datetime(x, y, z),

So the above won't work, you must remember to reverse the if/else:

    if isinstance(created, datetime.datetime):
        date_version_of_created =
        date_version_of_created = created
    if date_version_of_created > fdate:

That's at least one too many "must remembers" for dumb (and busy!) ol'
me. EIBTI until it's a PITA.

Is an implicit time of 0 really so surprising? It doesn't seem to be
surprising for the datetime constructor:

>>> datetime.datetime(2007, 3, 9)
datetime.datetime(2007, 3, 9, 0, 0)

Why should it be surprising for comparisons?

Robert Brewer
System Architect
Amor Ministries

* APBP = "Although, practicality beats purity"
Python-Dev mailing list

Reply via email to