python输入数字变成月份
- 更新时间:2021-07-30 08:36:13
- 编辑:邱昊苍
给网友们整理相关的编程文章,网友聂凝梦根据主题投稿了本篇教程内容,涉及到Python相关内容,已被925网友关注,相关难点技巧可以阅读下方的电子资料。
参考资料
- 《编程的乐趣:用Python解算法谜题》配套源码 配套资源 / 67 KB / 斯里尼·德瓦达斯 推荐度:
- 京东抢茅台脚本(Python脚本) / 76 KB / 码小辫 推荐度:
- 《OpenCV 4计算机视觉:Python语言实现(原书第3版)》配图源码 配套资源 / 266.5 MB / [加]约瑟夫·豪斯(Joseph Howse),[爱]乔·米尼奇诺(Joe Minichino) 推荐度:
- 从Excel到Python:数据分析进阶指南 PDF 电子书 / 9.69 MB / 王彦平(蓝鲸) 推荐度:
- python tkinter实现贷款计算器 / 6 KB / 码小辫 推荐度:
正文内容
我们整理一篇关于《python输入数字变成月份》技术文章,实例讲的很实用,这里给大家转摘到这里,看完如果觉得有用请记得收藏。
1、思路说明
可计算给定区间的时间差,即两者之间共包含几个月。然后由第一个月(开始时间)逐渐累积,最后得到给定时间区间所有月份的清单。
2、时间差计算:我们可以使用第三方库 dateutil中的rrule.count函数来实现。
Impor tdatetime from dateutil importrrule 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,就可以得到正确的年月时间。
importdatetimefrom dateutil importrruledefget_each_month(start_month, end_month):if str(start_month).count('.') != 1 or str(end_month).count('.') != 1:print("Parameter Error: Pls input a string such as '2019.01'")return[]if int(str(start_month).split('.')[1]) > 12 or int(str(end_month).split('.')[1]) > 12:print('Parameter Error: Pls input correct month range such as between 1 to 12')return[]if int(str(start_month).split('.')[1]) == 0 or int(str(end_month).split('.')[1]) == 12:print('Parameter Error: Pls input correct month range such as between 1 to 12')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() #计算总月份数 if end list_month=[] year= int(str(start)[:7].split('-')[0]) #截取起始年份 for m in range(month_count): #利用range函数填充结果列表 month = int(str(start)[:7].split('-')[1]) #截取起始月份,写在for循环里,作为每次迭代的累加基数 month = month +mif month > 12:if month%12 >0: month= month%12 #计算结果大于12,取余数 if month==1: year+= 1 #只需在1月份的时候对年份加1,注意year的初始化在for循环外 else: month= 12 if len(str(month))==1: list_month.append(str(year)+ '.0' +str(month))else: list_month.append(str(year)+ '.' +str(month))return list_month
以上就是python输入数字变成月份的方法,基本的流程分享给大家,看懂后可以进行实例部分的尝试。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
相关教程
-
Python怎么调用地图
首先 ,如果想调用地图,你需要百度地图api和获取一个百度地图api的密钥。申请密钥很简单,在百度地图api的首页就有相关链接,填写相关信息百度就会给你一个密钥了接下来,就是引入百度
发布时间:2019-07-10
-
python运行快捷键是什么
python运行快捷键是shift+F10。Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用
发布时间:2019-07-10