假设我有给定年份的周数(例如,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)
并存储从今年的第一个星期一到最后一个星期一的哈希,但这不会这样做,因为一年的第一周可能不包含星期一。
最佳答案
您可以将数据输入 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)
关于python - 将周数转换为日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22789198/