我很难理解 dateutil.relativedelta 的行为。我知道,如果我使用relativedelta doc中指定的否定参数,则 relativedelta 可能会返回过去的日期。
但是,当我提供正参数时,我希望它总是在未来返回一个日期......这似乎合法吗?
我的用例如下:我们是星期二,现在是 8:35。我想在 6:00 获得最近的星期一和星期二的日期。
这就是我所做的。第一个结果对我来说似乎是正确的,而第二个结果是错误的。
>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2016, 11, 29, 8, 35, 23, 786349)
>>> from dateutil import relativedelta
>>> now.weekday()
1
>>> now + relativedelta.relativedelta(weekday=0, hour=6, minute=0) # should give a time in the future
datetime.datetime(2016, 12, 5, 6, 0, 23, 786349) # here this is correct, in the future
>>> now + relativedelta.relativedelta(weekday=1, hour=6, minute=0) # should give a time in the future
datetime.datetime(2016, 11, 29, 6, 0, 23, 786349) # but this is in the past / I would expect result (2016, 12, 6, 6, 0, 23, 786349)
那么,我在这里做错了吗?