python - Python - 将一个时间段拆分为多个固定长度的时间段
问题描述
给定两个日期,我想使用datetime生成一个彼此之间具有固定时间长度的日期列表,从较晚的日期开始。例如,给定2 个月01/01/2018
的01/09/2018
时间间隔,输出将是:
[01/01/2018, 01/03/2018, 01/05/2018, 01/07/2018, 01/09/2018]
间隔3个月:
[01/03/2018, 01/06/2018, 01/09/2018]
我不能只使用datetime.replace
对象上的方法减去月份,因为从 31 天的月份到 30 天的月份会返回错误。
解决方案
我认为relativedeleta
模块可以帮助你 -pip install python-dateutil
from dateutil.relativedelta import *
import datetime
date1 = datetime.datetime.strptime('01/01/2018', "%d/%m/%Y").date()
date2 = datetime.datetime.strptime('01/09/2018', "%d/%m/%Y").date()
f = [(date1 + relativedelta(months=i)).strftime("%d/%m/%Y") for i in range(date1.month, date2.month,2)]
结果将是 - ['01/02/2018', '01/04/2018', '01/06/2018', '01/08/2018']
推荐阅读
- jsp - 如何访问 display:column 的属性并正确使用 IF/WHEN 条件
- python - ImportError:使用 docker 时没有名为 appengine.ext 的模块
- php - 分页在自定义帖子类型中不起作用
- javascript - webpack-dev-server:tampermonkey 脚本的自动重新加载
- python - python spotify api获取访问令牌和刷新令牌给400
- javascript - JS函数中的EJS数组
- github - 从测试到开发的 Azure 数据工厂升级,身份验证方法是 Azuressql 的托管标识,使用 azure devops CI/CD
- rest - 如何避免 Golang 服务器(Gin Gonic)在 INTERNAL_ERROR 上崩溃
- c# - 资源和 x:Bind 的奇怪行为
- javascript - 在反应字段中获取自动填充浏览器数据的最佳实践是什么?