首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python-dateutil的relativedelta的不一致行为

python-dateutil的relativedelta的不一致行为
EN

Stack Overflow用户
提问于 2017-01-30 01:57:43
回答 1查看 65关注 0票数 1

也许我不理解relativedelta背后的意图,但是行为上的不一致,将较小的子区间折叠成更大的子区间,以便表示最小的一组子区间,似乎是不可取的。具体地说,月似乎会崩溃成年,但天和周仍然是模棱两可的(即天数=周数*7+剩余天数)。

代码语言:javascript
复制
from dateutil.parsers import parse as dparse
from dateutil.relativedelta import relativedelta as rdelta

start = dparse('12/3/15')
end = dparse('1/28/17')

rd = rdelta(end, start)

这里有rd.years = 1rd.months = 1rd.weeks = 3rd.days = 25

为什么会这样呢?我希望子区间是彼此互斥的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-30 02:03:17

从源代码中:

代码语言:javascript
复制
@property
def weeks(self):
    return self.days // 7
@weeks.setter
def weeks(self, value):
    self.days = self.days - (self.weeks * 7) + value * 7

因此,weeks是一种将天表示为周的便捷方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41924120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档