首页 / 知识
python输入数字变成月份
2023-11-12 12:57:00
python输入数字变成月份
1、思路说明
可计算给定区间的时间差,即两者之间共包含几个月。然后由第一个月(开始时间)逐渐累积,最后得到给定时间区间所有月份的清单。
2、时间差计算:我们可以使用第三方库dateutil中的rrule.count函数来实现。
Importdatetimefromdateutilimportrrule
start=datetime.datetime.strptime('2019.01','%Y.%m')
end=datetime.datetime.strptime('2019.05','%Y.%m')print(start.month)
rrule.rrule(rrule.MONTHLY,dtstart=start,until=end).count()
3、每月累积计算:在这里,我们可以使用for循环和range()函数,根据总月数,逐步累积,例如:2019.01-2019.05共5个月,从0到4迭代,从1+0=1到1+4=5,就可以得到所有月份;此外,当月迭代累积结果超过12时,将累积结果除以12取余,并将年份加1,就可以得到正确的年月时间。
importdatetimefromdateutilimportrruledefget_each_month(start_month,end_month):ifstr(start_month).count('.')!=1orstr(end_month).count('.')!=1:print("ParameterError:Plsinputastringsuchas'2019.01'")return[]ifint(str(start_month).split('.')[1])>12orint(str(end_month).split('.')[1])>12:print('ParameterError:Plsinputcorrectmonthrangesuchasbetween1to12')return[]ifint(str(start_month).split('.')[1])==0orint(str(end_month).split('.')[1])==12:print('ParameterError:Plsinputcorrectmonthrangesuchasbetween1to12')return[]
start=datetime.datetime.strptime(start_month,"%Y.%m")
end=datetime.datetime.strptime(end_month,"%Y.%m")
month_count=rrule.rrule(rrule.MONTHLY,dtstart=start,until=end).count()#计算总月份数
ifend
list_month=[]
year=int(str(start)[:7].split('-')[0])#截取起始年份
forminrange(month_count):#利用range函数填充结果列表
month=int(str(start)[:7].split('-')[1])#截取起始月份,写在for循环里,作为每次迭代的累加基数
month=month+mifmonth>12:ifmonth%12>0:
month=month%12#计算结果大于12,取余数
ifmonth==1:
year+=1#只需在1月份的时候对年份加1,注意year的初始化在for循环外
else:
month=12
iflen(str(month))==1:
list_month.append(str(year)+'.0'+str(month))else:
list_month.append(str(year)+'.'+str(month))returnlist_month
以上就是python输入数字变成月份的方法,基本的流程分享给大家,看懂后可以进行实例部分的尝试。更多Python学习教程请关注我们
最新内容
相关内容
pythoneval函数作用
pythoneval函数作用,培训,字符串,函数,作用,表达式,对象,结果,引号,计算器,以上,pythoneval(str)函数很强大,官方解释为:将字符串str当成有效的pythonprint函数不要换行怎么写
pythonprint函数不要换行怎么写,培训,灵活,函数,对象,参数,文件,空格,结尾,字符,下面,从语法上讲,调用python3.0的print函数有如下的形式:printpython如何自定义一个函数
python如何自定义一个函数,代码,名称,培训,函数,圆括号,参数,定义,表达式,选择性,字符串,python函数是组织好的,可重复使用的,用来实现单一,或相python内置函数在哪
python内置函数在哪,培训,函数,包装,模块,对象,字符串,列表,数据类型,属性,类型,所谓内置函数,就是在Python中被自动加载的函数,任何时候都可以pythonrange函数怎么用
pythonrange函数怎么用,步长,培训,函数,负数,整数,语法,字母,实例,以上,以下,pythonrange()函数可创建一个整数列表,一般用在for循环中。函数python函数如何不返回none
python函数如何不返回none,培训,函数,语句,变量,赋值,参数,实际,结果,字符串,语法,python中,用def语句创建函数时,可以用return语句指定应该返python判断字符是否为字母和数字
python判断字符是否为字母和数字,数字,培训,字母,字符串,字符,空格,方法,都会,分号,大小写,在使用python语言中的字符串方法时,可以使用它们判python函数的高级使用方法
python函数的高级使用方法,代码,函数,灵活,数据,培训,时间,定义,程序,赋值,变量,Python的函数是“一等公民”,因此函数本身也是一个对象,函数既python如何使用python的help函数
python如何使用python的help函数,培训,函数,代码,基础知识,模块,参数,方法,用途,问题,括号,help函数是python的一个内置函数,在python基础知识python如何调用python函数
python如何调用python函数,函数,代码,概念,培训,名字,工作,系统,基础,语句,定义,函数function是python编程核心内容之一,也是比较重要的一块。python什么是匿名函数
python什么是匿名函数,代码,培训,函数,标准,名字,有限,表达式,变量,语句,画虎不成反类犬,当我们在创建函数时,有些时候,不需要显式地定义函数,直python如何定义一个函数
python如何定义一个函数,培训,画线,代码,较大,合法,工具,函数,定义,单词,参数,python函数的定义定义函数,也就是创建一个函数,可以理解为创建一