![](/img/trans.png)
[英]How do I aggregate datetime data by week using isocalendar in python?
[英]Why datetime isocalendar transition back will shift 1 week?
我开始datetime.now()(今天是6/11)并过渡到工作日:
>>> now=datetime.now().isocalendar()
>>> now
(2019, 24, 2)
但是当我过渡回来时,发现它偏移了1周:
>>> res = datetime.strptime(now[0]+'_'+now[1]+'_'+now[2], "%Y_%W_%w")
>>> res
datetime.datetime(2019, 6, 18, 0, 0)
有人可以登机吗? 很感谢!
from datetime import daytime
iso_string = str(now[0]).zfill(4) + '_' + str(now[1]).zfill(2) + '_' + str(now[2])
res = datetime.strptime(iso_string, "%G_%V_%u").date()
strptime具有用于ISO周编号的特殊指令: "%G_%V_%u"
从尝试开始,看起来前导零似乎并不重要,但是官方标准说确实如此,因此请务必使用zfill()
将其添加。
这仅适用于python> = 3.6, strptime
版本的strptime
似乎与ISO周不兼容。
对于早期版本的python,我认为最好使用isoweek模块 :
from isoweek import Week
res = Week(now[0], now[1]).day(now[2]-1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.