diff --git a/pandas/_libs/tslibs/offsets.pyx b/pandas/_libs/tslibs/offsets.pyx index fd3d80a8a3fa6..94c1c0c179782 100644 --- a/pandas/_libs/tslibs/offsets.pyx +++ b/pandas/_libs/tslibs/offsets.pyx @@ -1347,18 +1347,18 @@ class DateOffset(RelativeDeltaOffset, metaclass=OffsetMeta): valid dates. For example, Bday(2) can be added to a date to move it two business days forward. If the date does not start on a valid date, first it is moved to a valid date. Thus pseudo code - is: + is:: - def __add__(date): - date = rollback(date) # does nothing if date is valid - return date + + def __add__(date): + date = rollback(date) # does nothing if date is valid + return date + When a date offset is created for a negative number of periods, - the date is first rolled forward. The pseudo code is: + the date is first rolled forward. The pseudo code is:: - def __add__(date): - date = rollforward(date) # does nothing is date is valid - return date + + def __add__(date): + date = rollforward(date) # does nothing if date is valid + return date + Zero presents a problem. Should it roll forward or back? We arbitrarily have it rollforward: