python-3.x - 在 Python 中创建特定间隔的年月列表
问题描述
如何根据以下条件创建日期列表:
例如,今天是2020-07-01
,所以我需要一个包含上个月、下一个 6 个月和下一个 12 个月的日期列表。预期的列表将是[2020-06, 2020-12, 2020-06]
.
请注意我需要使用datetime.today()
来保持列表动态变化。
我通过以下代码获得了当前月份:
from datetime import datetime
format(datetime.today().strftime('%Y-%m'))
出去:
2020-07
解决方案
您可以使用relativedelta
查找月份的差异和所需月份的列表。
from datetime import datetime
from dateutil.relativedelta import relativedelta
need_months = [-1, 6, 12]
print([(datetime.today()+ relativedelta(months=i if i < 0 else i - 1)).strftime('%Y-%m') for i in need_months])
输出
['2020-06', '2020-12', '2021-06']
推荐阅读
- php - Xcode的手动配置
- java - 如何设置 VSCODE 来创建 Maven 项目?
- sql - 每笔交易的最后记录
- sql - 我们可以在oracle中将日期插入varchar2而不用to_char转换吗?
- linux - Hexeditted 共享库“未找到版本 x.so”错误
- linux - 如何使用动态指定的文件路径在程序集中创建文件?
- node.js - bootstrap 和 npm - 如何在我的项目中仅导入“reboot.scss”文件?
- javascript - Index.js 错误:UserForm(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null
- java - 自动调用startActivity前的方法
- firebase - 访问firestore中文档内的集合