wiki:python/dateutil/relativedelta

relativedelta


dateutil.relativedelta Doc


Unerwartetes Verhalten

>>> datetime.date(2012, 9, 4) + dateutil.relativedelta.relativedelta(year='bla')
TypeError: cannot concatenate 'str' and 'int' objects      # besser wäre wohl auch 
                                                           # ein IllegalYearError,
                                                           # aber wenigstens Error!

>>> datetime.date(2012, 9, 4) + dateutil.relativedelta.relativedelta(month='bla')
IllegalMonthError: bad month number 'bla'; must be 1-12   # ok, was auch sonst?

>>> datetime.date(2012, 9, 4) + dateutil.relativedelta.relativedelta(day='bla')
datetime.date(2012, 9, 30)                                 # warum kein 
                                                           # IllegalDayError?
>>> datetime.date(2012, 9, 4) + dateutil.relativedelta.relativedelta(months=+13)
datetime.date(2013, 10, 4)

>>> d = dateutil.relativedelta.relativedelta()
>>> d.months = 13
>>> datetime.date(2012, 9, 4) + d
AssertionError

>>> d = dateutil.relativedelta.relativedelta()
>>> d.days = 40
>>> datetime.date(2012, 9, 4) + d
datetime.date(2012, 10, 14)

Ok, der direkte Weg über 'd.months' ist so wohl nicht vorgesehen aber durchaus gangbar (siehe 'd.days'-Beispiel). Also entweder oder... Ich habe das mal weitergegeben: Bug #1045343: relativedelta.months > 12 raise an AssertionError

Last modified 6 years ago Last modified on Oct 15, 2013, 3:23:23 PM