Python 官方文档:入门教程 => 点击学习
这篇文章主要介绍python输入数字变成月份的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!思路说明可计算给定区间的时间差,即两者之间共包含几个月。然后由第一个月(开始时间)逐渐累积,最后得到给定时间区间所有月份
这篇文章主要介绍python输入数字变成月份的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
思路说明
可计算给定区间的时间差,即两者之间共包含几个月。然后由第一个月(开始时间)逐渐累积,最后得到给定时间区间所有月份的清单。
时间差计算:我们可以使用第三方库 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()
每月累积计算:在这里,我们可以使用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的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如c++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。
以上是“python输入数字变成月份的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网Python频道!
--结束END--
本文标题: python输入数字变成月份的示例
本文链接: https://lsjlt.com/news/277988.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0