Python实现打印给定的两个日期之间所有月份的列表(如2019年6月,2019年7月)

同时,在我的数据库表里,每位博主都有一个账号注册时间的字段。所以这个问题就变成了,已知开始的时间点(该博主注册的时间)和结束的时间点(当前时间),如何打印出这个区间内所有的月份。

代码实现:

from datetime import datetime
 
#这是起始时间,假设某位博主是2018年10月6日注册的
start=datetime(2018,10,6)
#这是结束时间,也就是当前的时间
end=datetime.now()
#计算起止日期之间有多少个月(月份的差值)
month_num=12*(end.year-start.year)+end.month-start.month
#这个空列表用于存储我们最终得出的所有的年月
time_list=[]
#年份的起点是注册日期的年份
year=start.year
#月份的起点是注册日期的月份
month=start.month
#遍历月份数+1,之所以加1是因为即使是本月注册的博主,月份差为0,他的页面也要显示一个月,即本月
for m in range(month_num+1):
    #把年月的小列表追加进大列表
    time_list.append([year,month])
    #月份加1
    month+=1
    #当月份达到13的时候,需要再从1月开始数,而且这代表跨年了,所以年份加1
    if month==13:
        month=1
        year+=1
#我希望最终的结果是当前月份在最前面,离我越远的月份越靠后,所以这里要反转列表
time_list.reverse()
print(time_list)

终端:[[2019, 7], [2019, 6], [2019, 5], [2019, 4], [2019, 3], [2019, 2], [2019, 1], [2018,
12], [2018, 11], [2018, 10]]
————————————————
版权声明:本文为CSDN博主「宁宁Fingerstyle」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44520259/article/details/97656945

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容