[Python-Dev] dateutil (original) (raw)
Moore, Paul Paul.Moore at atosorigin.com
Mon Mar 15 10:52:17 EST 2004
- Previous message: [Python-Dev] PyCon BOF schedule
- Next message: [Python-Dev] pdb enhancements (patch 896011, bugs 751124,875404)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
From: Gustavo Niemeyer [mailto:niemeyer at conectiva.com]
>> > d.forwardmonths(3).endofmonth() >> >> In dateutil, I think it's d + relativedelta(months=+1, day=1, days=-1). >> Arguably, this is fairly trivial (highly non-obvious, but trivial...) > > Yes, it'd work, but "d + relativedelta(day=31)" would be enough.
Hmm, I feel vaguely uncomfortable actually relying on the "round down out of range values" behaviour. Presumably day=1000 would also work, and would look even stranger to me :-) This was a design decision, and I confess I'm pretty satisfied by the results of this decision. This simple decision created consistent and expectable results for operations which are not obvious. Also, without this feature, I see almost no reason for using this class instead of timedelta.
How about a module-level constant dateutil.LAST_DAY = 31? Then we have
d + relativedelta(day=LAST_DAY)
which looks pretty nice. Actually as someone else suggested, using -1 for the last day (and maybe -2, -3... for the next to last, etc) would also make sense.
Paul
- Previous message: [Python-Dev] PyCon BOF schedule
- Next message: [Python-Dev] pdb enhancements (patch 896011, bugs 751124,875404)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]