获取当前时间的前(后)N天
def get_days_before_today(n=0):
'''''
date format = "YYYY-MM-DD HH:MM:SS"
'''
now = datetime.datetime.now()
if(n<0):
return datetime.datetime(now.year, now.month, now.day, now.hour, now.minute, now.second)
else:
n_days_before = now - timedelta(days=n)
return datetime.datetime(n_days_before.year, n_days_before.month, n_days_before.day, n_days_before.hour, n_days_before.minute, n_days_before.second)
def get_weeks_before_tody(n=0):
'''''
date format = "YYYY-MM-DD HH:MM:SS"
'''
now = datetime.datetime.now()
if(n<0):
return datetime.datetime(now.year, now.month, now.day, now.hour, now.minute, now.second)
else:
n_days_before = now - timedelta(days=n*7)
return datetime.datetime(n_days_before.year, n_days_before.month, n_days_before.day, n_days_before.hour, n_days_before.minute, n_days_before.second)
获得当前时间的前(后)N月
def get_now_time():
now = datetime.datetime.now()
thisyear = int(now.year)
thismon = int(now.month)
thisday = int(now.day)
thishour = int(now.hour)
thisminute = int(now.minute)
thissecond = int(now.second)
return thisyear, thismon, thisday, thishour, thisminute, thissecond
def get_year_and_month(n=0):
'''''
get the year,month,days from today
befor or after n months
'''
now = datetime.datetime.now()
thisyear, thismon, thisday, thishour, thisminute, thissecond = get_now_time()
totalmon = thismon+n
if(n>=0):
if(totalmon<=12):
days = str(get_days_of_month(thisyear,totalmon))
totalmon = add_zero(totalmon)
return (thisyear, totalmon, days, thishour, thisminute, thissecond, thisday)
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 = add_zero(j)
return (str(thisyear),str(j),days, thishour,thisminute, thissecond, thisday)
else:
if((totalmon>0) and (totalmon<12)):
days = str(get_days_of_month(thisyear,totalmon))
totalmon = add_zero(totalmon)
return (thisyear,totalmon,days, thishour, thisminute, thissecond, thisday)
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 = add_zero(j)
return (str(thisyear),str(j),days, thishour, thisminute, thissecond, thisday)
def get_days_of_month(year,mon):
return calendar.monthrange(year, mon)[1]
def add_zero(n):
'''''
add 0 before 0-9
return 01-09
'''
nabs = abs(int(n))
if(nabs<10):
return "0"+str(nabs)
else:
return nabs
def get_today_months(n=0):
year,mon,d, hour, minute,second, day = get_year_and_month(n)
arr = (year,mon,d, hour, minute,second, day)
print arr
if(int(day)