
datetime的timedelta没有关于月份的参数。可以使用time。
import time
now = timelocaltime()
print now
last_month = now[1] - 1 or 12
next_month = (now[1] + 3) % 12 or 12
print last_month
print next_month
答: 如下所示,希望能够帮助到你,主要使用Python当中的if,else语句。设置好相应的判断条件。
注意判断一下从键盘输入的数类型是否为整型,如果不是的话,需要进行转换。希望可以帮助到你。
还要根据年份来的,闰年又不一样
year = int(input('请输入年份:'))
month = int(input('请输入月份(1~12):'))
if month == 2:
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print('闰年29天')
else:
print('平年28天')
elif month in (4,6,9,11):
print('30天')
else:
print('31天')
貌似没有现成的从别的地方找一个能实现你说的功能的代码,你可以看看:
#encoding:utf8def w_day(y,m,d):#已知日期求星期
c=y//100
y=int(str(y)[-2:])
w=(y+(y//4)+(c//4)-2c+(26(m+1)//10)+d-1)%7 ##蔡勒公式只适合于1582年10月15日之后
return w
def ml(y,m,d=1):#当月有几天
ly=(y%400==0) or (y%4==0 and y%100!=0) and 1 or 0 #闰年=1,平年=0
return (m in (4,6,9,11) and 30 or (m==2 and 28+ly or 31))
def cal(y,m,d): #输出日历
wf=w_day(y,m=1,d=1) #该月的第一天是星期几
mc=[(d==x and ("["+str(x)rjust(2)+"]")center(5) or str(x)rjust(2)center(5)) for x in range(1,ml(y,m)+1)]
mc[:0]=[" "5]wf
mc=[(i+1)%7 and j or j+"\n" for i,j in enumerate(mc)]
td=("%s年%s月%s日 星期%s\n" %(y,m,d,("一","二","三","四","五","六","日")[w_day(y,m,d)-1]))center(35)
x="\n Sun Mon Tue Wed Thu Fri Sat\n"
return td+x+""join(mc)
##################################################################
##################################################################
if __name__ == '__main__':
import datetime
T=datetimedatetoday()
print("今天是:\n"+cal(Tyear,Tmonth,Tday))
# encoding: utf-8
# Python 360
def getdays():
year=input("输入年份:")
month=input("输入月份:")
if year=="" or month==""or yearisdigit()==False or monthisdigit()==False:
return "输入非法"
m=[31,28,31,30,31,30,31,31,30,31,30,31]
if int(year)%4==0 and int(year)%100!=0 or int(year)%400==0:
m[1]=29
return "{0}年{1}月有{2}天"format(year, month, m[int(month)-1])
print(getdays())
以上就是关于如何使用python中timedelta这个类实现月份的累加全部的内容,包括:如何使用python中timedelta这个类实现月份的累加、Python设计 根据指定月份,打印该月份所属的季节、Python 判断指定月份的天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)