Python dateutil relativedelta(weekday=FR)是否有一个等价物,但有几个月?

Python dateutil relativedelta(weekday=FR)是否有一个等价物,但有几个月?,python,python-dateutil,Python,Python Dateutil,我想在脚本中解析日期,我想知道是否有一个等价物: relativedelta(days=1, weekday=MO) 但是几个月 现在,我提取文本中的月份号,并将其与文档的创建日期(和月份)进行比较。然而,这是相当长和重复的(我必须为将来时态、现在时态和过去时态做这项工作) 相当于weekday=MO(或weekday=calendar.MONDAY)可以是month=1一月,month=2二月,依此类推。将relativedelta(month=2)添加到datetime对象将为您提供相同的

我想在脚本中解析日期,我想知道是否有一个等价物:

relativedelta(days=1, weekday=MO)
但是几个月


现在,我提取文本中的月份号,并将其与文档的创建日期(和月份)进行比较。然而,这是相当长和重复的(我必须为将来时态、现在时态和过去时态做这项工作)

相当于
weekday=MO
(或
weekday=calendar.MONDAY
)可以是
month=1
一月,
month=2
二月,依此类推。

relativedelta(month=2)
添加到
datetime
对象将为您提供相同的日期和时间,二月除外。如果这创建了一个不存在的日期,则该日期将在最后一个存在的日期被截断,例如:

from datetime import datetime
from dateutil.relativedelta import relativedelta

print(datetime(2015, 3, 30) + relativedelta(month=2))   # 2015-02-28 00:00:00
正如报告中所述:

年、月、日、时、分、秒、微秒:

绝对信息(参数为单数);加减 带有绝对信息的relativedelta不执行算术运算 操作,而是替换 具有relativedelta中的值的原始日期时间

所有的“单数”参数都被处理为“将我要添加/减去的东西的这个分量设置为这个值”,而相同参数的复数版本是“将这个数字添加/减去这个分量”


请注意,relativedelta文档还列出了应用每个组件的顺序,但可以说绝对值是在相对值之前应用的,因此
relativedelta(月=3,月=2)
将月份设置为3月,然后再加上2个月(因此,基本上相当于
relativedelta(月=5)
).

这些操作由Python
arrow
库最优雅地处理。如果需要继续使用
Datetime
,即为了与其他模块兼容,可以将Datetime对象转换为箭头对象,反之亦然