将周数转换为日期

阿梅里奥·巴斯克斯·雷纳(Amelio Vazquez-Reina)

假设我有给定年份的周数(例如,2014年的第6周)。

如何将其转换为该周开始的星期一的日期?

我想到的一种蛮力解决方案是遍历一年中的所有星期一:

date1 = datetime.date(1,1,2014)
date2 = datetime.date(12,31,2014)
def monday_range(date1,date2):
    while date1 < date2:
        if date1.weekday() == 0:
            yield date1
        date1 = date1 + timedelta(days=1)

并存储从今年的第一个星期一到最后一个星期一的哈希,但这不会这样做,因为一年的第一周可能不包含星期一。

anon582847382

您可以将数据输入time.asctime()

>>> import time
>>> week = 6
>>> year = 2014
>>> atime = time.asctime(time.strptime('{} {} 1'.format(year, week), '%Y %W %w'))
>>> atime
'Mon Feb 10 00:00:00 2014'

编辑:将此转换为一个datetime.date对象:

>>> datetime.datetime.fromtimestamp(time.mktime(atime)).date()
datetime.date(2014, 2, 10)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章