[Python-Dev] datetime module enhancements (original) (raw)
Robert Brewer fumanchu at amor.org
Fri Mar 9 22:06:14 CET 2007
- Previous message: [Python-Dev] datetime module enhancements
- Next message: [Python-Dev] datetime module enhancements
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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:
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 fumanchu at amor.org
- APBP = "Although, practicality beats purity"
- Previous message: [Python-Dev] datetime module enhancements
- Next message: [Python-Dev] datetime module enhancements
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]