8

datetime模块提供了一个方法date.isocalendar,给定一个日期,以格式返回它([year], [week], [weekday])。我该如何倒退?给定一个([year], [week], [weekday])元组,我怎样才能得到一个date对象?

4

1 回答 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 回答