datetime.date(2010, 1, 1).isocalendar()[1]
给出了自2010年1月1日以来的第53周是在2009年开始的一周。但是,我想从2010年1月1日开始第1周。在datetime isocalendar中有没有选项可以做到这一点?
如果我在How can I get the current week using Python?处遵循解决方案,则结果为53
答案 0 :(得分:4)
计算自一年中第一年以来的天数,整数除以7并加1:
>>> import datetime as DT
>>> (DT.date(2010,1,1)-DT.date(2010,1,1)).days // 7 + 1
1
这个周数的概念与ISO week definition非常不同,因此您无法在isocalendar
中找到执行此操作的选项。
答案 1 :(得分:0)
如果您从一个点开始在整周内获取数据,您可以通过一年中的周数(52)来修改该数字以获得剩余数据(即,一年中有多少周)你是):
>>> 53 % 52
>>> 1
>>> 925 % 52
>>> 41