根据周数(python)获取日期

时间:2015-01-22 22:12:32

标签: python datetime python-3.x

我正在编写一个脚本,用户需要输入一个周编号,然后根据该脚本运行一个程序。但是,我遇到了一个小问题,我知道我可以通过以下方式得到周数:

>>> 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")

获取我想要的格式。我仍然错过了获取约会的步骤。有什么想法吗?

2 个答案:

答案 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