我正在抓取一个有请求的网站。URL需要动态日期,所以我生成的日期与以下变量一起使用:
stmDt = (pd.to_datetime('today').date()+ pd.offsets.MonthBegin(-1)).strftime('%d-%b-%Y')
todDt = (pd.to_datetime('today').date()).strftime('%d-%b-%Y')
snmDt = (pd.to_datetime('today').date()+ pd.offsets.MonthBegin(1)).strftime('%d-%b-%Y')
enmDt = (pd.to_datetime('today').date()+ pd.offsets.MonthEnd(2)).strftime('%d-%b-%Y')
在本例中,我在2022年11月30日(当月的最后一天)运行此脚本。
- stmDt =本月开始日期(运行脚本月份的第一天- 11/1/2022)
- todDt =今天(2022年11月30日)
- snmDt =下个月开始(2022年12月1日)
- enmDt =下个月结束(2022年12月31日)
日期变量在大多数情况下都是正确的,但它显示(对于11月的运行日期):
- 每月第一天:stmDt显示上个月的第一天(10/1/22)
- 在该月的最后一天:enmDt显示两个月后的最后一天(1/31/23)
我如何调整这些,使他们总是给予我正确的日期?高兴地使用其他软件包来完成等
谢谢
1条答案
按热度按时间edqdpe6u1#
您可以使用dateutil.relativedelta来执行此操作,如下所示: