This question already has answers here:
What's the best way to find the inverse of datetime.isocalendar()?
(8个答案)
5年前关闭。
(8个答案)
5年前关闭。
datetime
模块提供了一种date.isocalendar
方法,给定一个日期,它以([year], [week], [weekday])
格式返回。我该如何后退?给定一个([year], [week], [weekday])
元组,如何获得date
对象? 最佳答案
编辑找到的问题与解决方案:
What's the best way to find the inverse of 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
10-08 00:30