from time import strftime, localtime
from datetime import timedelta, date
import datetime
import calendar
def addzero(n):
nabs = abs(int(n))
if (nabs < 10):
return "0" + str(nabs)
else:
return nabs
def get_days_of_month(year, mon):
return calendar.monthrange(year, mon)[1]
def getyearandmonth(n=0):
thisyear = datetime.datetime.today().year
thismon = datetime.datetime.today().month
totalmon = thismon + n
if (n >= 0):
if (totalmon <= 12):
days = str(get_days_of_month(thisyear, totalmon))
totalmon = addzero(totalmon)
return (datetime.datetime.today().year, totalmon, days)
else:
i = totalmon / 12
j = totalmon % 12
if (j == 0):
i -= 1
j = 12
thisyear += i
days = str(get_days_of_month(thisyear, j))
j = addzero(j)
return (str(thisyear), str(j), days)
else:
if ((totalmon > 0) and (totalmon < 12)):
days = str(get_days_of_month(thisyear, totalmon))
totalmon = addzero(totalmon)
return (datetime.datetime.today().year, totalmon, days)
else:
i = totalmon / 12
j = totalmon % 12
if (j == 0):
i -= 1
j = 12
thisyear += i
days = str(get_days_of_month(thisyear, j))
j = addzero(j)
return (str(thisyear), str(j), days)
def get_today_month(n=0):
day=datetime.datetime.today().day
(y, m, d) = getyearandmonth(n)
arr = (y, m, d)
if (day < int(d)):
arr = (y, m, day)
return "-".join("%s" % i for i in arr)
if name == "main":
print(get_today_month(-3))