知行编程网知行编程网  2022-09-26 01:30 知行编程网 隐藏边栏  75 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python输入数字变成月份的相关知识,包括python输入年月日输出星期几,以及python将日期转化为数字这些编程知识,希望对大家有参考作用。

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输入数字变成月份的方法,基本的流程分享给大家,看懂后可以进行实例部分的尝试。

更多Python学习指路:


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享