该datetime
模块提供了一个方法date.isocalendar
,给定一个日期,以格式返回它([year], [week], [weekday])
。我该如何倒退?给定一个([year], [week], [weekday])
元组,我怎样才能得到一个date
对象?
问问题
7063 次
1 回答
4
编辑找到解决方案的问题: 找到 datetime.isocalendar() 的倒数的最佳方法是什么?
我的解决方案有错误。在谷歌搜索上看到了先前的问题,该问题在下面的测试中有效。(有关 的定义,请参阅上面链接中最重要的问题iso_to_gregorian
)。(基本上找到iso年开始日期,然后使用timedelta从日和周数中找到当前日期。
for i in range(-10000,10000,1):
x = datetime.datetime.today().date() + datetime.timedelta(i)
x_iso = datetime.datetime.isocalendar(x)
assert iso_to_gregorian(*x_iso) == x
于 2011-03-02T16:18:11.160 回答