我正在编写一个脚本,用户需要输入一个周编号,然后根据该脚本运行一个程序。但是,我遇到了一个小问题,我知道我可以通过以下方式得到周数:
>>> a=datetime.datetime.now()
>>> a
datetime.datetime(2015, 1, 22, 15, 51, 57, 820058)
>>> a.isocalendar()[1]
4
但我无法找到如何倒退。此外,我要求的日期必须是该周的早上6点。一旦我有了datetime元素,我就可以做到
begin_date = datetime.datetime.strptime(a, "%Y-%m-%d %H:%M:%S")
获取我想要的格式。我仍然错过了获取约会的步骤。有什么想法吗?
答案 0 :(得分:2)
我们创建2015年的初始日期时间(2014-12-28 6:00:00 - 第1周的第1周),以及7天的timedelta对象:
w0 = datetime.datetime(2014,12,28,6)
d7 = datetime.timedelta(7)
然后你可以简单地将timedelta对象的倍数添加到初始日期,就像这样(n将是你的周数):
w0+(d7*n)
答案 1 :(得分:0)
>>> now = datetime.datetime.now()
>>> start = datetime.datetime(2015, 1,1)
>>> (now - start).days // 7
3