datetime.timedelta
和有什么区别? (来自 Python 的标准库)和 dateutil.relativedelta.relativedelta
什么时候只工作几天?
据我了解,timedelta
仅支持天(和周),而 relativedelta
增加了对以年、月、周或天定义的周期的支持,以及定义年、月或日的绝对值。 (请记住,就这个问题而言,我不必担心小时、分钟或秒)
考虑到我只使用 datetime.date
对象,并且只对由天数定义的周期感兴趣,timedelta
和 relativedelta
之间有什么区别?有什么区别吗?
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta
i = -1 # This could have been any integer, positive or negative
someday = date.today()
# Is there any difference between these two lines?
otherday = someday + timedelta(days=i)
otherday = someday + relativedelta(days=i)
最佳答案
dateutil
是 python 标准 datetime
模块的扩展包。正如您所说,它提供了额外的功能,例如以大于一天的单位表示的时间增量。
如果您要问一些问题,例如在我女朋友的生日到来之前我可以存多少个月,或者这个月的最后一个星期五是什么时候,这很有用?这隐藏了由不同月份长度或闰年额外天数引起的复杂计算。
就您而言,您只对天数感兴趣。所以你最好使用 timedelta
因为这样可以避免对 dateutil
包的额外依赖。
关于python - 仅使用天数时, "datetime.timedelta"和 "dateutil.relativedelta.relativedelta"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433233/