python输入数字变成月份中文,python输入数字变成月份缩写
1、思路说明
可计算给定区间的时间差,即两者之间共包含几个月。然后由第一个月(开始时间)逐渐累积,最后得到给定时间区间所有月份的清单。
2、时间差计算:我们可以使用第三方库dateutil中的rrule.count函数来实现。
importdatetimefromdateutimportrule
开始=日期时间。日期时间。strptime( 2019.01 , %Y.%m )
end=日期时间。日期时间。strptime( 2019.05 , %Y.%m )打印(开始.月份)
rrule.rrule(rrule .每月,dtstart=开始,直到=结束)。计数()3,每月累积计算:在这里,我们可以使用为循环和范围()函数,根据总月数,逐步累积,例如:2019.01-2019.05共5个月,从0到四迭代,从1 0=1到1 4=5,就可以得到所有月份;此外,当月迭代累积结果超过12时,将累积结果除以12取余,并将年份加1,就可以得到正确的年月时间。
importdatetimefromdateutimportruledefget _ each _ month(start _ month,end _ month): ifstr(start _ month).计数(.)!=1orstr(end_month).计数(.)!=1: print(参数错误: plsinputastringsuchas 2019.01 )return[]ifint(str(start _ month).拆分(.12 rint(str(end _ month).拆分(.)[1])12: print(参数错误: plsinputcorrectmonthrangesuccess between 1 to 12 )return[]ifint(str(start _ month).拆分(.)[1])==0orint(str(end_month).拆分(.)[1])==12: print(参数错误:plsinputcorrectmonthrangesu比如1到12之间)return[]
开始=日期时间。日期时间。strptime(start _ month, %Y.%m )
end=日期时间。日期时间。strptime(end _ month, %Y.%m )
month_count=rrule.rrule(rrule .每月,dtstart=开始,直到=结束)。count()#计算总月份数
曲线段分段输入
list_month=[]
year=int(str(start)[:7].拆分(-)[0])#截取起始年份
forminrange(month_count):#利用范围函数填充结果列表
month=int(str(start)[:7].拆分(-)[1])#截取起始月份,写在为循环里,作为每次迭代的累加基数
月=mifmonth12:ifmonth0:月
month=month#计算结果大于12,取余数
ifmonth==1:
年份=1#只需在一月份的时候对年份加1,注意年的初始化在为循环外
else:
月份=12
iflen(字符串(月份))==1:
list _ month。追加(字符串(年) 0 字符串(月))else :
list_month.append(str(year)。str(month))returnlist_month以上就是大蟒输入数字变成月份的方法,基本的流程分享给大家,看懂后可以进行实例部分的尝试。更多计算机编程语言学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1、戴尔自交第三代电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。