As Niklas noted, as the months vary in length, one month from today can be rather mixed.
Each industry has a kind of agreement; The result may vary depending on your goals. For example, will it be used to calculate interest? will it be used to generate recurring bills?
If you want 30 days from today:
>>> import datetime >>> d1 = datetime.date.today() >>> d1 datetime.date(2012, 3, 8) >>> d1 + datetime.timedelta(30) datetime.date(2012, 4, 7)
Maybe you do not want if the month has 31 days:
>>> d2 = datetime.date(2012, 1, 1) >>> d2 + datetime.timedelta(30) datetime.date(2012, 1, 31) >>> import calendar >>> calendar.monthrange(2012, 1) (6, 31) >>> d2 + datetime.timedelta(calendar.monthrange(d2.year, d2.month)[1]) datetime.date(2012, 2, 1)
However, it may not be the result you expect if there are less than 30 days in the next month:
>>> d3 = datetime.date(2012, 1, 31) >>> d3 + datetime.timedelta(calendar.monthrange(d3.year, d3.month)[1]) datetime.date(2012, 3, 2) >>> import dateutil >>> d3 + dateutil.relativedelta.relativedelta(months=1) datetime.date(2012, 2, 29)